diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.classpath b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..406ca4abdc68e88484ba4d3c6294fa9bc391cdb3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
+	<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="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.project b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.project
new file mode 100644
index 0000000000000000000000000000000000000000..e63e8f6f4e86b8ef3d5fdd53d88ada5b986c98f7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.adaptation.sta.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.settings/org.eclipse.core.resources.prefs b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..855273dfb37ef2fe56a5945099d71dc8d362426f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: edu.kit.ipd.descartes.mm.adaptation.sta.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.adaptation.sta.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: edu.kit.ipd.descartes.mm.adaptation.sta;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.eclipse.xtext.builder,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types.ui,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.compare
+Import-Package: org.apache.log4j,
+ org.eclipse.xtext.xbase.lib
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: edu.kit.ipd.descartes.ui.quickfix,
+ edu.kit.ipd.descartes.ui.contentassist,
+ edu.kit.ipd.descartes.ui.contentassist.antlr,
+ edu.kit.ipd.descartes.ui.internal
+Bundle-Activator: edu.kit.ipd.descartes.ui.internal.StaLangActivator
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/build.properties b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..31255ed05bc1242430be9f3e44440c2e42921649
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+          src-gen/,\
+          xtend-gen/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
\ No newline at end of file
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..81d7e537653ceedbd7070a62e434a3a8491d95cc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+    <extension
+            point="org.eclipse.ui.editors">
+        <editor
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+            default="true"
+            extensions="staLang"
+            id="edu.kit.ipd.descartes.StaLang"
+            name="StaLang Editor">
+        </editor>
+    </extension>
+    <extension
+        point="org.eclipse.ui.handlers">
+        <handler
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+            <activeWhen>
+                <reference
+                    definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+        <handler
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+            commandId="edu.kit.ipd.descartes.StaLang.validate">
+         <activeWhen>
+            <reference
+                    definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened">
+            </reference>
+         </activeWhen>
+      	</handler>
+      	<!-- copy qualified name -->
+        <handler
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+            <activeWhen>
+				<reference definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened" />
+            </activeWhen>
+        </handler>
+        <handler
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+            <activeWhen>
+            	<and>
+            		<reference definitionId="edu.kit.ipd.descartes.StaLang.XtextEditor.opened" />
+	                <iterate>
+						<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+					</iterate>
+				</and>
+            </activeWhen>
+        </handler>
+    </extension>
+    <extension point="org.eclipse.core.expressions.definitions">
+        <definition id="edu.kit.ipd.descartes.StaLang.Editor.opened">
+            <and>
+                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="edu.kit.ipd.descartes.StaLang" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+        <definition id="edu.kit.ipd.descartes.StaLang.XtextEditor.opened">
+            <and>
+                <reference definitionId="isXtextEditorActive"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="edu.kit.ipd.descartes.StaLang" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+    </extension>
+    <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="edu.kit.ipd.descartes.StaLang"
+            name="StaLang">
+            <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+        </page>
+        <page
+            category="edu.kit.ipd.descartes.StaLang"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+            id="edu.kit.ipd.descartes.StaLang.coloring"
+            name="Syntax Coloring">
+            <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+        </page>
+        <page
+            category="edu.kit.ipd.descartes.StaLang"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+            id="edu.kit.ipd.descartes.StaLang.templates"
+            name="Templates">
+            <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+        </page>
+    </extension>
+    <extension
+            point="org.eclipse.ui.propertyPages">
+        <page
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="edu.kit.ipd.descartes.StaLang"
+            name="StaLang">
+            <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+            <enabledWhen>
+	            <adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+        </page>
+    </extension>
+    <extension
+        point="org.eclipse.ui.keywords">
+        <keyword
+            id="edu.kit.ipd.descartes.ui.keyword_StaLang"
+            label="StaLang"/>
+    </extension>
+    <extension
+         point="org.eclipse.ui.commands">
+      <command
+            description="Trigger expensive validation"
+            id="edu.kit.ipd.descartes.StaLang.validate"
+            name="Validate">
+      </command>
+      <!-- copy qualified name -->
+      <command
+            id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+            categoryId="org.eclipse.ui.category.edit"
+            description="Copy the qualified name for the selected element"
+            name="Copy Qualified Name">
+      </command>
+      <command
+            id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+            categoryId="org.eclipse.ui.category.edit"
+            description="Copy the qualified name for the selected element"
+            name="Copy Qualified Name">
+      </command>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+        <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+             <command
+                 commandId="edu.kit.ipd.descartes.StaLang.validate"
+                 style="push"
+                 tooltip="Trigger expensive validation">
+            <visibleWhen checkEnabled="false">
+                <reference
+                    definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened">
+                </reference>
+            </visibleWhen>
+         </command>  
+         </menuContribution>
+         <!-- copy qualified name -->
+         <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+         	<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" 
+         		style="push" tooltip="Copy Qualified Name">
+            	<visibleWhen checkEnabled="false">
+                	<reference definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened" />
+            	</visibleWhen>
+         	</command>  
+         </menuContribution>
+         <menuContribution locationURI="menu:edit?after=copy">
+         	<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+            	style="push" tooltip="Copy Qualified Name">
+            	<visibleWhen checkEnabled="false">
+                	<reference definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened" />
+            	</visibleWhen>
+         	</command>  
+         </menuContribution>
+         <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" 
+				style="push" tooltip="Copy Qualified Name">
+         		<visibleWhen checkEnabled="false">
+	            	<and>
+	            		<reference definitionId="edu.kit.ipd.descartes.StaLang.XtextEditor.opened" />
+						<iterate>
+							<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+						</iterate>
+					</and>
+				</visibleWhen>
+			</command>
+         </menuContribution>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+				<visibleWhen checkEnabled="false">
+                	<reference definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened">
+                	</reference>
+            	</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.handlers">
+	    <handler
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+            commandId="org.eclipse.xtext.ui.editor.FindReferences">
+            <activeWhen>
+                <reference
+                    definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+    </extension>   
+
+<!-- adding resource factories -->
+
+	<extension
+		point="org.eclipse.emf.ecore.extension_parser">
+		<parser
+			class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+			type="staLang">
+		</parser>
+	</extension>
+	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+        <resourceServiceProvider
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+            uriExtension="adaptationpoints">
+        </resourceServiceProvider>
+    </extension>
+
+
+    <!-- marker definitions for edu.kit.ipd.descartes.StaLang -->
+    <extension
+            id="stalang.check.fast"
+            name="StaLang Problem"
+            point="org.eclipse.core.resources.markers">
+        <super type="org.eclipse.xtext.ui.check.fast"/>
+        <persistent value="true"/>
+    </extension>
+    <extension
+            id="stalang.check.normal"
+            name="StaLang Problem"
+            point="org.eclipse.core.resources.markers">
+        <super type="org.eclipse.xtext.ui.check.normal"/>
+        <persistent value="true"/>
+    </extension>
+    <extension
+            id="stalang.check.expensive"
+            name="StaLang Problem"
+            point="org.eclipse.core.resources.markers">
+        <super type="org.eclipse.xtext.ui.check.expensive"/>
+        <persistent value="true"/>
+    </extension>
+
+   <extension
+         point="org.eclipse.xtext.builder.participant">
+      <participant
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
+      </participant>
+   </extension>
+   <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            category="edu.kit.ipd.descartes.StaLang"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+            id="edu.kit.ipd.descartes.StaLang.compiler.preferencePage"
+            name="Compiler">
+            <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+        </page>
+    </extension>
+    <extension
+            point="org.eclipse.ui.propertyPages">
+        <page
+            category="edu.kit.ipd.descartes.StaLang"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+            id="edu.kit.ipd.descartes.StaLang.compiler.propertyPage"
+            name="Compiler">
+            <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+            <enabledWhen>
+	            <adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+        </page>
+    </extension>
+
+	<!-- Quick Outline -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+			<activeWhen>
+				<reference
+					definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			description="Open the quick outline."
+			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+			name="Quick Outline">
+		</command>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+				style="push"
+				tooltip="Open Quick Outline">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="edu.kit.ipd.descartes.StaLang.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+    <!-- quickfix marker resolution generator for edu.kit.ipd.descartes.StaLang -->
+    <extension
+            point="org.eclipse.ui.ide.markerResolution">
+        <markerResolutionGenerator
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="edu.kit.ipd.descartes.ui.stalang.check.fast">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+        <markerResolutionGenerator
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="edu.kit.ipd.descartes.ui.stalang.check.normal">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+        <markerResolutionGenerator
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="edu.kit.ipd.descartes.ui.stalang.check.expensive">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+    </extension>
+   	<!-- Rename Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+			<activeWhen>
+				<reference
+					definitionId="edu.kit.ipd.descartes.StaLang.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="edu.kit.ipd.descartes.StaLang.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+   <extension point="org.eclipse.ui.preferencePages">
+	    <page
+	        category="edu.kit.ipd.descartes.StaLang"
+	        class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+	        id="edu.kit.ipd.descartes.StaLang.refactoring"
+	        name="Refactoring">
+	        <keywordReference id="edu.kit.ipd.descartes.ui.keyword_StaLang"/>
+	    </page>
+	</extension>
+
+  <extension point="org.eclipse.compare.contentViewers">
+    <viewer id="edu.kit.ipd.descartes.StaLang.compare.contentViewers"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+            extensions="staLang">
+    </viewer>
+  </extension>
+  <extension point="org.eclipse.compare.contentMergeViewers">
+    <viewer id="edu.kit.ipd.descartes.StaLang.compare.contentMergeViewers"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+            extensions="staLang" label="StaLang Compare">
+     </viewer>
+  </extension>
+  <extension point="org.eclipse.ui.editors.documentProviders">
+    <provider id="edu.kit.ipd.descartes.StaLang.editors.documentProviders"
+            class="edu.kit.ipd.descartes.ui.StaLangExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+            extensions="staLang">
+    </provider>
+  </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/AbstractStaLangUiModule.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/AbstractStaLangUiModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..2aac215a9f8fa5be22d5bcb629ecd061d4c3ada8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/AbstractStaLangUiModule.java
@@ -0,0 +1,222 @@
+
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {edu.kit.ipd.descartes.ui.StaLangUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractStaLangUiModule extends DefaultUiModule {
+	
+	public AbstractStaLangUiModule(AbstractUIPlugin plugin) {
+		super(plugin);
+	}
+	
+	
+	// contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+	public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+		return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+	}
+
+	// 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 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(edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangLexer.class);
+	}
+
+	// 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.impl.DefaultDependentElementsCalculator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+		return org.eclipse.xtext.builder.BuilderParticipant.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.generator.generator.GeneratorFragment
+	public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+	public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+		return edu.kit.ipd.descartes.ui.labeling.StaLangLabelProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+	public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(edu.kit.ipd.descartes.ui.labeling.StaLangDescriptionLabelProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+		return edu.kit.ipd.descartes.ui.outline.StaLangOutlineTreeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+		return edu.kit.ipd.descartes.ui.outline.StaLangOutlineTreeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+		return edu.kit.ipd.descartes.ui.quickfix.StaLangQuickfixProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.contentAssist.ContentAssistFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+		return edu.kit.ipd.descartes.ui.contentassist.StaLangProposalProvider.class;
+	}
+
+	// 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 org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+		return edu.kit.ipd.descartes.ui.contentassist.antlr.StaLangParser.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+	public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+		binder.bind(edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangLexer.class));
+	}
+
+	// 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(edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangLexer.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() {
+		return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() {
+		return org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
+		return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() {
+		return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport.Factory.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 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.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;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.IValidationJobScheduler> bindIValidationJobScheduler() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtValidationJobScheduler.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.impl.RefactoringResourceSetProvider> bindRefactoringResourceSetProvider() {
+		return org.eclipse.xtext.common.types.ui.refactoring.JvmRefactoringResourceSetProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation> bindIJavaSearchParticipation() {
+		return org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation.Yes.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
+		return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
+		return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
+		return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+		return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
+		return edu.kit.ipd.descartes.ui.contentassist.antlr.PartialStaLangContentAssistParser.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
+	public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
+		return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
+	}
+
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/StaLangExecutableExtensionFactory.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/StaLangExecutableExtensionFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..87d0d2f74e27177d303562b835592625a94bd894
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/StaLangExecutableExtensionFactory.java
@@ -0,0 +1,29 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import edu.kit.ipd.descartes.ui.internal.StaLangActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
+ */
+public class StaLangExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+	@Override
+	protected Bundle getBundle() {
+		return StaLangActivator.getInstance().getBundle();
+	}
+	
+	@Override
+	protected Injector getInjector() {
+		return StaLangActivator.getInstance().getInjector(StaLangActivator.EDU_KIT_IPD_DESCARTES_STALANG);
+	}
+	
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/AbstractStaLangProposalProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/AbstractStaLangProposalProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cba4fa1deb550d5d9af5b5bb09610552a36ff33a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/AbstractStaLangProposalProvider.java
@@ -0,0 +1,476 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
+ * with a more concrete subtype. 
+ */
+@SuppressWarnings("all")
+public class AbstractStaLangProposalProvider extends org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider {
+		
+	public void completeAdaptationProcess_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_Tactics(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_Actions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_Strategies(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_Goal(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationProcess_ImportDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeTactic_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeTactic_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeTactic_InputParams(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeTactic_OutputParam(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeTactic_ImplementedPlan(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAction_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAction_OutputParam(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAction_InputParams(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAction_ReferredAdaptationPoint(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAction_AdaptationActionOperation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStrategy_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStrategy_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStrategy_Objective(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStrategy_TriggeringEvents(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStrategy_Tactics(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStrategy_WeightingFunction(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeParameter_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeParameter_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeParameter_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeOverallGoal_Description(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeOverallGoal_Objectives(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeImportDeclaration_ImportURI(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationPlan_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationPlan_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationPlan_Steps(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStartAction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStartAction_Predecessor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStartAction_Successor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStopAction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStopAction_Predecessor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeStopAction_Successor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeLoopAction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeLoopAction_Predecessor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeLoopAction_Successor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeLoopAction_Counter(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeLoopAction_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_Predecessor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_Successor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_Context(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_ConditionTrueBranch(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeBranchAction_ConditionFalseBranch(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeActionReference_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeActionReference_Predecessor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeActionReference_Successor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeActionReference_RefersTo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationActionOperation_AdaptationOperationScope(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeAdaptationActionOperation_AdaptationOperationDirection(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelVariableConfigurationRange_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelVariableConfigurationRange_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelVariableConfigurationRange_MinValue(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelVariableConfigurationRange_MaxValue(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelVariableConfigurationRange_AdaptableEntity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelEntityConfigurationRange_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelEntityConfigurationRange_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelEntityConfigurationRange_AdaptableEntity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeModelEntityConfigurationRange_VariationPossibility(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyRange_MinValueConstraint(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyRange_MaxValueConstraint(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeSetOfConfigurations_Variants(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeSetOfConfigurations_ValueConstraint(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeOclConstraint_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeOclConstraint_OclString(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeObjective_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeObjective_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeObjective_Specifications(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEvent_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEvent_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedTactic_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedTactic_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedTactic_CurrentWeight(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedTactic_DefaultWeight(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedTactic_UsedTactic(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedTactic_LastImpact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightingFunction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightingFunction_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightingFunction_WeightingFunctionImplementation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightingFunction_WeightedMetrics(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeSpecification_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeSpecification_RelationalOperator(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeSpecification_MetricType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricType_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricType_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeImpact_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeImpact_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeImpact_Before(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeImpact_After(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeResult_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeResult_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeResult_Timestamp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeResult_MetricValues(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricValue_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricValue_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricValue_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricValue_MeasuredEntity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMetricValue_MetricType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMeasuredEntity_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMeasuredEntity_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeMeasuredEntity_MetricTypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedMetric_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedMetric_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedMetric_Weight(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeWeightedMetric_MetricType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+    
+	public void complete_AdaptationProcess(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_AdaptationPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_AbstractControlFlowElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_VariationType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Tactic(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Action(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Strategy(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Parameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_OverallGoal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ImportDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_AdaptationPlan(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_StartAction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_StopAction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_LoopAction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_BranchAction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ActionReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_AdaptationActionOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ModelVariableConfigurationRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ModelEntityConfigurationRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EDouble(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_SetOfConfigurations(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_OclConstraint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_AdaptationScope(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_AdaptationDirection(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Objective(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Event(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_WeightedTactic(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_WeightingFunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Specification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_MetricType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_RelationalOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Impact(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Result(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EDate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_MetricValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_MeasuredEntity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_WeightedMetric(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/PartialStaLangContentAssistParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/PartialStaLangContentAssistParser.java
new file mode 100644
index 0000000000000000000000000000000000000000..b45acac4f1bddcb7f50fdf842ac207f908f4c15a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/PartialStaLangContentAssistParser.java
@@ -0,0 +1,38 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.util.PolymorphicDispatcher;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+@SuppressWarnings("restriction")
+public class PartialStaLangContentAssistParser extends StaLangParser implements IPartialContentAssistParser {
+
+	private AbstractRule rule;
+
+	public void initializeFor(AbstractRule rule) {
+		this.rule = rule;
+	}
+	
+	@Override
+	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+		if (rule == null || rule.eIsProxy())
+			return Collections.emptyList();
+		String methodName = "entryRule" + rule.getName();
+		PolymorphicDispatcher<Collection<FollowElement>> dispatcher = 
+			new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
+		dispatcher.invoke();
+		return parser.getFollowElements();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/StaLangParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/StaLangParser.java
new file mode 100644
index 0000000000000000000000000000000000000000..1997ba8ee727737c4768861f8a28524f49b6c4e2
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/StaLangParser.java
@@ -0,0 +1,267 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+
+public class StaLangParser extends AbstractContentAssistParser {
+	
+	@Inject
+	private StaLangGrammarAccess grammarAccess;
+	
+	private Map<AbstractElement, String> nameMappings;
+	
+	@Override
+	protected edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangParser createParser() {
+		edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangParser result = new edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangParser(null);
+		result.setGrammarAccess(grammarAccess);
+		return result;
+	}
+	
+	@Override
+	protected String getRuleName(AbstractElement element) {
+		if (nameMappings == null) {
+			nameMappings = new HashMap<AbstractElement, String>() {
+				private static final long serialVersionUID = 1L;
+				{
+					put(grammarAccess.getAdaptationPointAccess().getAlternatives(), "rule__AdaptationPoint__Alternatives");
+					put(grammarAccess.getAbstractControlFlowElementAccess().getAlternatives(), "rule__AbstractControlFlowElement__Alternatives");
+					put(grammarAccess.getVariationTypeAccess().getAlternatives(), "rule__VariationType__Alternatives");
+					put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
+					put(grammarAccess.getEDoubleAccess().getAlternatives_4_0(), "rule__EDouble__Alternatives_4_0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup(), "rule__AdaptationProcess__Group__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_8(), "rule__AdaptationProcess__Group_8__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_13(), "rule__AdaptationProcess__Group_13__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_18(), "rule__AdaptationProcess__Group_18__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_20(), "rule__AdaptationProcess__Group_20__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_20_3(), "rule__AdaptationProcess__Group_20_3__0");
+					put(grammarAccess.getTacticAccess().getGroup(), "rule__Tactic__Group__0");
+					put(grammarAccess.getTacticAccess().getGroup_5(), "rule__Tactic__Group_5__0");
+					put(grammarAccess.getTacticAccess().getGroup_5_3(), "rule__Tactic__Group_5_3__0");
+					put(grammarAccess.getTacticAccess().getGroup_6(), "rule__Tactic__Group_6__0");
+					put(grammarAccess.getActionAccess().getGroup(), "rule__Action__Group__0");
+					put(grammarAccess.getActionAccess().getGroup_5(), "rule__Action__Group_5__0");
+					put(grammarAccess.getActionAccess().getGroup_6(), "rule__Action__Group_6__0");
+					put(grammarAccess.getActionAccess().getGroup_6_3(), "rule__Action__Group_6_3__0");
+					put(grammarAccess.getStrategyAccess().getGroup(), "rule__Strategy__Group__0");
+					put(grammarAccess.getStrategyAccess().getGroup_12(), "rule__Strategy__Group_12__0");
+					put(grammarAccess.getParameterAccess().getGroup(), "rule__Parameter__Group__0");
+					put(grammarAccess.getOverallGoalAccess().getGroup(), "rule__OverallGoal__Group__0");
+					put(grammarAccess.getOverallGoalAccess().getGroup_7(), "rule__OverallGoal__Group_7__0");
+					put(grammarAccess.getImportDeclarationAccess().getGroup(), "rule__ImportDeclaration__Group__0");
+					put(grammarAccess.getAdaptationPlanAccess().getGroup(), "rule__AdaptationPlan__Group__0");
+					put(grammarAccess.getAdaptationPlanAccess().getGroup_5(), "rule__AdaptationPlan__Group_5__0");
+					put(grammarAccess.getAdaptationPlanAccess().getGroup_5_3(), "rule__AdaptationPlan__Group_5_3__0");
+					put(grammarAccess.getStartActionAccess().getGroup(), "rule__StartAction__Group__0");
+					put(grammarAccess.getStartActionAccess().getGroup_4(), "rule__StartAction__Group_4__0");
+					put(grammarAccess.getStartActionAccess().getGroup_5(), "rule__StartAction__Group_5__0");
+					put(grammarAccess.getStopActionAccess().getGroup(), "rule__StopAction__Group__0");
+					put(grammarAccess.getStopActionAccess().getGroup_4(), "rule__StopAction__Group_4__0");
+					put(grammarAccess.getStopActionAccess().getGroup_5(), "rule__StopAction__Group_5__0");
+					put(grammarAccess.getLoopActionAccess().getGroup(), "rule__LoopAction__Group__0");
+					put(grammarAccess.getLoopActionAccess().getGroup_3(), "rule__LoopAction__Group_3__0");
+					put(grammarAccess.getLoopActionAccess().getGroup_4(), "rule__LoopAction__Group_4__0");
+					put(grammarAccess.getBranchActionAccess().getGroup(), "rule__BranchAction__Group__0");
+					put(grammarAccess.getBranchActionAccess().getGroup_3(), "rule__BranchAction__Group_3__0");
+					put(grammarAccess.getBranchActionAccess().getGroup_4(), "rule__BranchAction__Group_4__0");
+					put(grammarAccess.getBranchActionAccess().getGroup_5(), "rule__BranchAction__Group_5__0");
+					put(grammarAccess.getBranchActionAccess().getGroup_6(), "rule__BranchAction__Group_6__0");
+					put(grammarAccess.getActionReferenceAccess().getGroup(), "rule__ActionReference__Group__0");
+					put(grammarAccess.getActionReferenceAccess().getGroup_3(), "rule__ActionReference__Group_3__0");
+					put(grammarAccess.getActionReferenceAccess().getGroup_4(), "rule__ActionReference__Group_4__0");
+					put(grammarAccess.getAdaptationActionOperationAccess().getGroup(), "rule__AdaptationActionOperation__Group__0");
+					put(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup(), "rule__ModelVariableConfigurationRange__Group__0");
+					put(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup(), "rule__ModelEntityConfigurationRange__Group__0");
+					put(grammarAccess.getEDoubleAccess().getGroup(), "rule__EDouble__Group__0");
+					put(grammarAccess.getEDoubleAccess().getGroup_4(), "rule__EDouble__Group_4__0");
+					put(grammarAccess.getPropertyRangeAccess().getGroup(), "rule__PropertyRange__Group__0");
+					put(grammarAccess.getSetOfConfigurationsAccess().getGroup(), "rule__SetOfConfigurations__Group__0");
+					put(grammarAccess.getSetOfConfigurationsAccess().getGroup_2(), "rule__SetOfConfigurations__Group_2__0");
+					put(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3(), "rule__SetOfConfigurations__Group_2_3__0");
+					put(grammarAccess.getOclConstraintAccess().getGroup(), "rule__OclConstraint__Group__0");
+					put(grammarAccess.getObjectiveAccess().getGroup(), "rule__Objective__Group__0");
+					put(grammarAccess.getObjectiveAccess().getGroup_8(), "rule__Objective__Group_8__0");
+					put(grammarAccess.getEventAccess().getGroup(), "rule__Event__Group__0");
+					put(grammarAccess.getWeightedTacticAccess().getGroup(), "rule__WeightedTactic__Group__0");
+					put(grammarAccess.getWeightedTacticAccess().getGroup_11(), "rule__WeightedTactic__Group_11__0");
+					put(grammarAccess.getWeightingFunctionAccess().getGroup(), "rule__WeightingFunction__Group__0");
+					put(grammarAccess.getWeightingFunctionAccess().getGroup_10(), "rule__WeightingFunction__Group_10__0");
+					put(grammarAccess.getSpecificationAccess().getGroup(), "rule__Specification__Group__0");
+					put(grammarAccess.getMetricTypeAccess().getGroup(), "rule__MetricType__Group__0");
+					put(grammarAccess.getImpactAccess().getGroup(), "rule__Impact__Group__0");
+					put(grammarAccess.getResultAccess().getGroup(), "rule__Result__Group__0");
+					put(grammarAccess.getResultAccess().getGroup_10(), "rule__Result__Group_10__0");
+					put(grammarAccess.getMetricValueAccess().getGroup(), "rule__MetricValue__Group__0");
+					put(grammarAccess.getMeasuredEntityAccess().getGroup(), "rule__MeasuredEntity__Group__0");
+					put(grammarAccess.getMeasuredEntityAccess().getGroup_8(), "rule__MeasuredEntity__Group_8__0");
+					put(grammarAccess.getWeightedMetricAccess().getGroup(), "rule__WeightedMetric__Group__0");
+					put(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1(), "rule__AdaptationProcess__IdAssignment_1");
+					put(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4(), "rule__AdaptationProcess__NameAssignment_4");
+					put(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7(), "rule__AdaptationProcess__TacticsAssignment_7");
+					put(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_8_1(), "rule__AdaptationProcess__TacticsAssignment_8_1");
+					put(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12(), "rule__AdaptationProcess__ActionsAssignment_12");
+					put(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1(), "rule__AdaptationProcess__ActionsAssignment_13_1");
+					put(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17(), "rule__AdaptationProcess__StrategiesAssignment_17");
+					put(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_18_1(), "rule__AdaptationProcess__StrategiesAssignment_18_1");
+					put(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_2(), "rule__AdaptationProcess__ParametersAssignment_20_2");
+					put(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_3_1(), "rule__AdaptationProcess__ParametersAssignment_20_3_1");
+					put(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22(), "rule__AdaptationProcess__GoalAssignment_22");
+					put(grammarAccess.getAdaptationProcessAccess().getImportDeclarationAssignment_23(), "rule__AdaptationProcess__ImportDeclarationAssignment_23");
+					put(grammarAccess.getTacticAccess().getIdAssignment_1(), "rule__Tactic__IdAssignment_1");
+					put(grammarAccess.getTacticAccess().getNameAssignment_4(), "rule__Tactic__NameAssignment_4");
+					put(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2(), "rule__Tactic__InputParamsAssignment_5_2");
+					put(grammarAccess.getTacticAccess().getInputParamsAssignment_5_3_1(), "rule__Tactic__InputParamsAssignment_5_3_1");
+					put(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1(), "rule__Tactic__OutputParamAssignment_6_1");
+					put(grammarAccess.getTacticAccess().getImplementedPlanAssignment_8(), "rule__Tactic__ImplementedPlanAssignment_8");
+					put(grammarAccess.getActionAccess().getIdAssignment_1(), "rule__Action__IdAssignment_1");
+					put(grammarAccess.getActionAccess().getNameAssignment_4(), "rule__Action__NameAssignment_4");
+					put(grammarAccess.getActionAccess().getOutputParamAssignment_5_1(), "rule__Action__OutputParamAssignment_5_1");
+					put(grammarAccess.getActionAccess().getInputParamsAssignment_6_2(), "rule__Action__InputParamsAssignment_6_2");
+					put(grammarAccess.getActionAccess().getInputParamsAssignment_6_3_1(), "rule__Action__InputParamsAssignment_6_3_1");
+					put(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8(), "rule__Action__ReferredAdaptationPointAssignment_8");
+					put(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10(), "rule__Action__AdaptationActionOperationAssignment_10");
+					put(grammarAccess.getStrategyAccess().getIdAssignment_1(), "rule__Strategy__IdAssignment_1");
+					put(grammarAccess.getStrategyAccess().getNameAssignment_4(), "rule__Strategy__NameAssignment_4");
+					put(grammarAccess.getStrategyAccess().getObjectiveAssignment_6(), "rule__Strategy__ObjectiveAssignment_6");
+					put(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8(), "rule__Strategy__TriggeringEventsAssignment_8");
+					put(grammarAccess.getStrategyAccess().getTacticsAssignment_11(), "rule__Strategy__TacticsAssignment_11");
+					put(grammarAccess.getStrategyAccess().getTacticsAssignment_12_1(), "rule__Strategy__TacticsAssignment_12_1");
+					put(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15(), "rule__Strategy__WeightingFunctionAssignment_15");
+					put(grammarAccess.getParameterAccess().getNameAssignment_1(), "rule__Parameter__NameAssignment_1");
+					put(grammarAccess.getParameterAccess().getTypeAssignment_4(), "rule__Parameter__TypeAssignment_4");
+					put(grammarAccess.getParameterAccess().getValueAssignment_6(), "rule__Parameter__ValueAssignment_6");
+					put(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3(), "rule__OverallGoal__DescriptionAssignment_3");
+					put(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6(), "rule__OverallGoal__ObjectivesAssignment_6");
+					put(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1(), "rule__OverallGoal__ObjectivesAssignment_7_1");
+					put(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1(), "rule__ImportDeclaration__ImportURIAssignment_1");
+					put(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1(), "rule__AdaptationPlan__IdAssignment_1");
+					put(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4(), "rule__AdaptationPlan__NameAssignment_4");
+					put(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2(), "rule__AdaptationPlan__StepsAssignment_5_2");
+					put(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_3_1(), "rule__AdaptationPlan__StepsAssignment_5_3_1");
+					put(grammarAccess.getStartActionAccess().getIdAssignment_2(), "rule__StartAction__IdAssignment_2");
+					put(grammarAccess.getStartActionAccess().getPredecessorAssignment_4_1(), "rule__StartAction__PredecessorAssignment_4_1");
+					put(grammarAccess.getStartActionAccess().getSuccessorAssignment_5_1(), "rule__StartAction__SuccessorAssignment_5_1");
+					put(grammarAccess.getStopActionAccess().getIdAssignment_2(), "rule__StopAction__IdAssignment_2");
+					put(grammarAccess.getStopActionAccess().getPredecessorAssignment_4_1(), "rule__StopAction__PredecessorAssignment_4_1");
+					put(grammarAccess.getStopActionAccess().getSuccessorAssignment_5_1(), "rule__StopAction__SuccessorAssignment_5_1");
+					put(grammarAccess.getLoopActionAccess().getIdAssignment_1(), "rule__LoopAction__IdAssignment_1");
+					put(grammarAccess.getLoopActionAccess().getPredecessorAssignment_3_1(), "rule__LoopAction__PredecessorAssignment_3_1");
+					put(grammarAccess.getLoopActionAccess().getSuccessorAssignment_4_1(), "rule__LoopAction__SuccessorAssignment_4_1");
+					put(grammarAccess.getLoopActionAccess().getCounterAssignment_6(), "rule__LoopAction__CounterAssignment_6");
+					put(grammarAccess.getLoopActionAccess().getBodyAssignment_8(), "rule__LoopAction__BodyAssignment_8");
+					put(grammarAccess.getBranchActionAccess().getIdAssignment_1(), "rule__BranchAction__IdAssignment_1");
+					put(grammarAccess.getBranchActionAccess().getConditionAssignment_3_1(), "rule__BranchAction__ConditionAssignment_3_1");
+					put(grammarAccess.getBranchActionAccess().getPredecessorAssignment_4_1(), "rule__BranchAction__PredecessorAssignment_4_1");
+					put(grammarAccess.getBranchActionAccess().getSuccessorAssignment_5_1(), "rule__BranchAction__SuccessorAssignment_5_1");
+					put(grammarAccess.getBranchActionAccess().getContextAssignment_6_1(), "rule__BranchAction__ContextAssignment_6_1");
+					put(grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8(), "rule__BranchAction__ConditionTrueBranchAssignment_8");
+					put(grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10(), "rule__BranchAction__ConditionFalseBranchAssignment_10");
+					put(grammarAccess.getActionReferenceAccess().getIdAssignment_1(), "rule__ActionReference__IdAssignment_1");
+					put(grammarAccess.getActionReferenceAccess().getPredecessorAssignment_3_1(), "rule__ActionReference__PredecessorAssignment_3_1");
+					put(grammarAccess.getActionReferenceAccess().getSuccessorAssignment_4_1(), "rule__ActionReference__SuccessorAssignment_4_1");
+					put(grammarAccess.getActionReferenceAccess().getRefersToAssignment_6(), "rule__ActionReference__RefersToAssignment_6");
+					put(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3(), "rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3");
+					put(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5(), "rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5");
+					put(grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1(), "rule__ModelVariableConfigurationRange__IdAssignment_1");
+					put(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4(), "rule__ModelVariableConfigurationRange__NameAssignment_4");
+					put(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6(), "rule__ModelVariableConfigurationRange__MinValueAssignment_6");
+					put(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8(), "rule__ModelVariableConfigurationRange__MaxValueAssignment_8");
+					put(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10(), "rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10");
+					put(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1(), "rule__ModelEntityConfigurationRange__IdAssignment_1");
+					put(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4(), "rule__ModelEntityConfigurationRange__NameAssignment_4");
+					put(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6(), "rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6");
+					put(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8(), "rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8");
+					put(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3(), "rule__PropertyRange__MinValueConstraintAssignment_3");
+					put(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5(), "rule__PropertyRange__MaxValueConstraintAssignment_5");
+					put(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2(), "rule__SetOfConfigurations__VariantsAssignment_2_2");
+					put(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1(), "rule__SetOfConfigurations__VariantsAssignment_2_3_1");
+					put(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4(), "rule__SetOfConfigurations__ValueConstraintAssignment_4");
+					put(grammarAccess.getOclConstraintAccess().getNameAssignment_1(), "rule__OclConstraint__NameAssignment_1");
+					put(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4(), "rule__OclConstraint__OclStringAssignment_4");
+					put(grammarAccess.getObjectiveAccess().getIdAssignment_1(), "rule__Objective__IdAssignment_1");
+					put(grammarAccess.getObjectiveAccess().getNameAssignment_4(), "rule__Objective__NameAssignment_4");
+					put(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_7(), "rule__Objective__SpecificationsAssignment_7");
+					put(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_8_1(), "rule__Objective__SpecificationsAssignment_8_1");
+					put(grammarAccess.getEventAccess().getIdAssignment_1(), "rule__Event__IdAssignment_1");
+					put(grammarAccess.getEventAccess().getNameAssignment_4(), "rule__Event__NameAssignment_4");
+					put(grammarAccess.getWeightedTacticAccess().getIdAssignment_1(), "rule__WeightedTactic__IdAssignment_1");
+					put(grammarAccess.getWeightedTacticAccess().getNameAssignment_4(), "rule__WeightedTactic__NameAssignment_4");
+					put(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6(), "rule__WeightedTactic__CurrentWeightAssignment_6");
+					put(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8(), "rule__WeightedTactic__DefaultWeightAssignment_8");
+					put(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10(), "rule__WeightedTactic__UsedTacticAssignment_10");
+					put(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1(), "rule__WeightedTactic__LastImpactAssignment_11_1");
+					put(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1(), "rule__WeightingFunction__IdAssignment_1");
+					put(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4(), "rule__WeightingFunction__NameAssignment_4");
+					put(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationAssignment_6(), "rule__WeightingFunction__WeightingFunctionImplementationAssignment_6");
+					put(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_9(), "rule__WeightingFunction__WeightedMetricsAssignment_9");
+					put(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_10_1(), "rule__WeightingFunction__WeightedMetricsAssignment_10_1");
+					put(grammarAccess.getSpecificationAccess().getValueAssignment_3(), "rule__Specification__ValueAssignment_3");
+					put(grammarAccess.getSpecificationAccess().getRelationalOperatorAssignment_5(), "rule__Specification__RelationalOperatorAssignment_5");
+					put(grammarAccess.getSpecificationAccess().getMetricTypeAssignment_7(), "rule__Specification__MetricTypeAssignment_7");
+					put(grammarAccess.getMetricTypeAccess().getIdAssignment_1(), "rule__MetricType__IdAssignment_1");
+					put(grammarAccess.getMetricTypeAccess().getNameAssignment_4(), "rule__MetricType__NameAssignment_4");
+					put(grammarAccess.getImpactAccess().getIdAssignment_1(), "rule__Impact__IdAssignment_1");
+					put(grammarAccess.getImpactAccess().getNameAssignment_4(), "rule__Impact__NameAssignment_4");
+					put(grammarAccess.getImpactAccess().getBeforeAssignment_6(), "rule__Impact__BeforeAssignment_6");
+					put(grammarAccess.getImpactAccess().getAfterAssignment_8(), "rule__Impact__AfterAssignment_8");
+					put(grammarAccess.getResultAccess().getIdAssignment_1(), "rule__Result__IdAssignment_1");
+					put(grammarAccess.getResultAccess().getNameAssignment_4(), "rule__Result__NameAssignment_4");
+					put(grammarAccess.getResultAccess().getTimestampAssignment_6(), "rule__Result__TimestampAssignment_6");
+					put(grammarAccess.getResultAccess().getMetricValuesAssignment_9(), "rule__Result__MetricValuesAssignment_9");
+					put(grammarAccess.getResultAccess().getMetricValuesAssignment_10_1(), "rule__Result__MetricValuesAssignment_10_1");
+					put(grammarAccess.getMetricValueAccess().getIdAssignment_1(), "rule__MetricValue__IdAssignment_1");
+					put(grammarAccess.getMetricValueAccess().getNameAssignment_4(), "rule__MetricValue__NameAssignment_4");
+					put(grammarAccess.getMetricValueAccess().getValueAssignment_6(), "rule__MetricValue__ValueAssignment_6");
+					put(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8(), "rule__MetricValue__MeasuredEntityAssignment_8");
+					put(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10(), "rule__MetricValue__MetricTypeAssignment_10");
+					put(grammarAccess.getMeasuredEntityAccess().getIdAssignment_1(), "rule__MeasuredEntity__IdAssignment_1");
+					put(grammarAccess.getMeasuredEntityAccess().getNameAssignment_4(), "rule__MeasuredEntity__NameAssignment_4");
+					put(grammarAccess.getMeasuredEntityAccess().getMetricTypesAssignment_7(), "rule__MeasuredEntity__MetricTypesAssignment_7");
+					put(grammarAccess.getMeasuredEntityAccess().getMetricTypesAssignment_8_1(), "rule__MeasuredEntity__MetricTypesAssignment_8_1");
+					put(grammarAccess.getWeightedMetricAccess().getIdAssignment_1(), "rule__WeightedMetric__IdAssignment_1");
+					put(grammarAccess.getWeightedMetricAccess().getNameAssignment_4(), "rule__WeightedMetric__NameAssignment_4");
+					put(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6(), "rule__WeightedMetric__WeightAssignment_6");
+					put(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8(), "rule__WeightedMetric__MetricTypeAssignment_8");
+				}
+			};
+		}
+		return nameMappings.get(element);
+	}
+	
+	@Override
+	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+		try {
+			edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangParser typedParser = (edu.kit.ipd.descartes.ui.contentassist.antlr.internal.InternalStaLangParser) parser;
+			typedParser.entryRuleAdaptationProcess();
+			return typedParser.getFollowElements();
+		} catch(RecognitionException ex) {
+			throw new RuntimeException(ex);
+		}		
+	}
+	
+	@Override
+	protected String[] getInitialHiddenTokens() {
+		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+	}
+	
+	public StaLangGrammarAccess getGrammarAccess() {
+		return this.grammarAccess;
+	}
+	
+	public void setGrammarAccess(StaLangGrammarAccess grammarAccess) {
+		this.grammarAccess = grammarAccess;
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g
new file mode 100644
index 0000000000000000000000000000000000000000..11e929c6df0827e27d5580e1a995af69ae4f807b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g
@@ -0,0 +1,13978 @@
+/*
+* generated by Xtext
+*/
+grammar InternalStaLang;
+
+options {
+	superClass=AbstractInternalContentAssistParser;
+	
+}
+
+@lexer::header {
+package edu.kit.ipd.descartes.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;
+}
+
+@parser::header {
+package edu.kit.ipd.descartes.ui.contentassist.antlr.internal; 
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+
+}
+
+@parser::members {
+ 
+ 	private StaLangGrammarAccess grammarAccess;
+ 	
+    public void setGrammarAccess(StaLangGrammarAccess grammarAccess) {
+    	this.grammarAccess = grammarAccess;
+    }
+    
+    @Override
+    protected Grammar getGrammar() {
+    	return grammarAccess.getGrammar();
+    }
+    
+    @Override
+    protected String getValueForTokenName(String tokenName) {
+    	return tokenName;
+    }
+
+}
+
+
+
+
+// Entry rule entryRuleAdaptationProcess
+entryRuleAdaptationProcess 
+:
+{ before(grammarAccess.getAdaptationProcessRule()); }
+	 ruleAdaptationProcess
+{ after(grammarAccess.getAdaptationProcessRule()); } 
+	 EOF 
+;
+
+// Rule AdaptationProcess
+ruleAdaptationProcess
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup()); }
+(rule__AdaptationProcess__Group__0)
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleAbstractControlFlowElement
+entryRuleAbstractControlFlowElement 
+:
+{ before(grammarAccess.getAbstractControlFlowElementRule()); }
+	 ruleAbstractControlFlowElement
+{ after(grammarAccess.getAbstractControlFlowElementRule()); } 
+	 EOF 
+;
+
+// Rule AbstractControlFlowElement
+ruleAbstractControlFlowElement
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getAbstractControlFlowElementAccess().getAlternatives()); }
+(rule__AbstractControlFlowElement__Alternatives)
+{ after(grammarAccess.getAbstractControlFlowElementAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleVariationType
+entryRuleVariationType 
+:
+{ before(grammarAccess.getVariationTypeRule()); }
+	 ruleVariationType
+{ after(grammarAccess.getVariationTypeRule()); } 
+	 EOF 
+;
+
+// Rule VariationType
+ruleVariationType
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getVariationTypeAccess().getAlternatives()); }
+(rule__VariationType__Alternatives)
+{ after(grammarAccess.getVariationTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEString
+entryRuleEString 
+:
+{ before(grammarAccess.getEStringRule()); }
+	 ruleEString
+{ after(grammarAccess.getEStringRule()); } 
+	 EOF 
+;
+
+// Rule EString
+ruleEString
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEStringAccess().getAlternatives()); }
+(rule__EString__Alternatives)
+{ after(grammarAccess.getEStringAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTactic
+entryRuleTactic 
+:
+{ before(grammarAccess.getTacticRule()); }
+	 ruleTactic
+{ after(grammarAccess.getTacticRule()); } 
+	 EOF 
+;
+
+// Rule Tactic
+ruleTactic
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getTacticAccess().getGroup()); }
+(rule__Tactic__Group__0)
+{ after(grammarAccess.getTacticAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAction
+entryRuleAction 
+:
+{ before(grammarAccess.getActionRule()); }
+	 ruleAction
+{ after(grammarAccess.getActionRule()); } 
+	 EOF 
+;
+
+// Rule Action
+ruleAction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getActionAccess().getGroup()); }
+(rule__Action__Group__0)
+{ after(grammarAccess.getActionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategy
+entryRuleStrategy 
+:
+{ before(grammarAccess.getStrategyRule()); }
+	 ruleStrategy
+{ after(grammarAccess.getStrategyRule()); } 
+	 EOF 
+;
+
+// Rule Strategy
+ruleStrategy
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getStrategyAccess().getGroup()); }
+(rule__Strategy__Group__0)
+{ after(grammarAccess.getStrategyAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleParameter
+entryRuleParameter 
+:
+{ before(grammarAccess.getParameterRule()); }
+	 ruleParameter
+{ after(grammarAccess.getParameterRule()); } 
+	 EOF 
+;
+
+// Rule Parameter
+ruleParameter
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getParameterAccess().getGroup()); }
+(rule__Parameter__Group__0)
+{ after(grammarAccess.getParameterAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOverallGoal
+entryRuleOverallGoal 
+:
+{ before(grammarAccess.getOverallGoalRule()); }
+	 ruleOverallGoal
+{ after(grammarAccess.getOverallGoalRule()); } 
+	 EOF 
+;
+
+// Rule OverallGoal
+ruleOverallGoal
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOverallGoalAccess().getGroup()); }
+(rule__OverallGoal__Group__0)
+{ after(grammarAccess.getOverallGoalAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImportDeclaration
+entryRuleImportDeclaration 
+:
+{ before(grammarAccess.getImportDeclarationRule()); }
+	 ruleImportDeclaration
+{ after(grammarAccess.getImportDeclarationRule()); } 
+	 EOF 
+;
+
+// Rule ImportDeclaration
+ruleImportDeclaration
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getImportDeclarationAccess().getGroup()); }
+(rule__ImportDeclaration__Group__0)
+{ after(grammarAccess.getImportDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAdaptationPlan
+entryRuleAdaptationPlan 
+:
+{ before(grammarAccess.getAdaptationPlanRule()); }
+	 ruleAdaptationPlan
+{ after(grammarAccess.getAdaptationPlanRule()); } 
+	 EOF 
+;
+
+// Rule AdaptationPlan
+ruleAdaptationPlan
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getGroup()); }
+(rule__AdaptationPlan__Group__0)
+{ after(grammarAccess.getAdaptationPlanAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStartAction
+entryRuleStartAction 
+:
+{ before(grammarAccess.getStartActionRule()); }
+	 ruleStartAction
+{ after(grammarAccess.getStartActionRule()); } 
+	 EOF 
+;
+
+// Rule StartAction
+ruleStartAction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getStartActionAccess().getGroup()); }
+(rule__StartAction__Group__0)
+{ after(grammarAccess.getStartActionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStopAction
+entryRuleStopAction 
+:
+{ before(grammarAccess.getStopActionRule()); }
+	 ruleStopAction
+{ after(grammarAccess.getStopActionRule()); } 
+	 EOF 
+;
+
+// Rule StopAction
+ruleStopAction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getStopActionAccess().getGroup()); }
+(rule__StopAction__Group__0)
+{ after(grammarAccess.getStopActionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLoopAction
+entryRuleLoopAction 
+:
+{ before(grammarAccess.getLoopActionRule()); }
+	 ruleLoopAction
+{ after(grammarAccess.getLoopActionRule()); } 
+	 EOF 
+;
+
+// Rule LoopAction
+ruleLoopAction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getLoopActionAccess().getGroup()); }
+(rule__LoopAction__Group__0)
+{ after(grammarAccess.getLoopActionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBranchAction
+entryRuleBranchAction 
+:
+{ before(grammarAccess.getBranchActionRule()); }
+	 ruleBranchAction
+{ after(grammarAccess.getBranchActionRule()); } 
+	 EOF 
+;
+
+// Rule BranchAction
+ruleBranchAction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getBranchActionAccess().getGroup()); }
+(rule__BranchAction__Group__0)
+{ after(grammarAccess.getBranchActionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActionReference
+entryRuleActionReference 
+:
+{ before(grammarAccess.getActionReferenceRule()); }
+	 ruleActionReference
+{ after(grammarAccess.getActionReferenceRule()); } 
+	 EOF 
+;
+
+// Rule ActionReference
+ruleActionReference
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getActionReferenceAccess().getGroup()); }
+(rule__ActionReference__Group__0)
+{ after(grammarAccess.getActionReferenceAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAdaptationActionOperation
+entryRuleAdaptationActionOperation 
+:
+{ before(grammarAccess.getAdaptationActionOperationRule()); }
+	 ruleAdaptationActionOperation
+{ after(grammarAccess.getAdaptationActionOperationRule()); } 
+	 EOF 
+;
+
+// Rule AdaptationActionOperation
+ruleAdaptationActionOperation
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getGroup()); }
+(rule__AdaptationActionOperation__Group__0)
+{ after(grammarAccess.getAdaptationActionOperationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleModelVariableConfigurationRange
+entryRuleModelVariableConfigurationRange 
+:
+{ before(grammarAccess.getModelVariableConfigurationRangeRule()); }
+	 ruleModelVariableConfigurationRange
+{ after(grammarAccess.getModelVariableConfigurationRangeRule()); } 
+	 EOF 
+;
+
+// Rule ModelVariableConfigurationRange
+ruleModelVariableConfigurationRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); }
+(rule__ModelVariableConfigurationRange__Group__0)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleModelEntityConfigurationRange
+entryRuleModelEntityConfigurationRange 
+:
+{ before(grammarAccess.getModelEntityConfigurationRangeRule()); }
+	 ruleModelEntityConfigurationRange
+{ after(grammarAccess.getModelEntityConfigurationRangeRule()); } 
+	 EOF 
+;
+
+// Rule ModelEntityConfigurationRange
+ruleModelEntityConfigurationRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup()); }
+(rule__ModelEntityConfigurationRange__Group__0)
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEDouble
+entryRuleEDouble 
+:
+{ before(grammarAccess.getEDoubleRule()); }
+	 ruleEDouble
+{ after(grammarAccess.getEDoubleRule()); } 
+	 EOF 
+;
+
+// Rule EDouble
+ruleEDouble
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEDoubleAccess().getGroup()); }
+(rule__EDouble__Group__0)
+{ after(grammarAccess.getEDoubleAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyRange
+entryRulePropertyRange 
+:
+{ before(grammarAccess.getPropertyRangeRule()); }
+	 rulePropertyRange
+{ after(grammarAccess.getPropertyRangeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyRange
+rulePropertyRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getGroup()); }
+(rule__PropertyRange__Group__0)
+{ after(grammarAccess.getPropertyRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSetOfConfigurations
+entryRuleSetOfConfigurations 
+:
+{ before(grammarAccess.getSetOfConfigurationsRule()); }
+	 ruleSetOfConfigurations
+{ after(grammarAccess.getSetOfConfigurationsRule()); } 
+	 EOF 
+;
+
+// Rule SetOfConfigurations
+ruleSetOfConfigurations
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getGroup()); }
+(rule__SetOfConfigurations__Group__0)
+{ after(grammarAccess.getSetOfConfigurationsAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOclConstraint
+entryRuleOclConstraint 
+:
+{ before(grammarAccess.getOclConstraintRule()); }
+	 ruleOclConstraint
+{ after(grammarAccess.getOclConstraintRule()); } 
+	 EOF 
+;
+
+// Rule OclConstraint
+ruleOclConstraint
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOclConstraintAccess().getGroup()); }
+(rule__OclConstraint__Group__0)
+{ after(grammarAccess.getOclConstraintAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAdaptationScope
+entryRuleAdaptationScope 
+:
+{ before(grammarAccess.getAdaptationScopeRule()); }
+	 ruleAdaptationScope
+{ after(grammarAccess.getAdaptationScopeRule()); } 
+	 EOF 
+;
+
+// Rule AdaptationScope
+ruleAdaptationScope
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); }
+
+	'AdaptationScope' 
+
+{ after(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAdaptationDirection
+entryRuleAdaptationDirection 
+:
+{ before(grammarAccess.getAdaptationDirectionRule()); }
+	 ruleAdaptationDirection
+{ after(grammarAccess.getAdaptationDirectionRule()); } 
+	 EOF 
+;
+
+// Rule AdaptationDirection
+ruleAdaptationDirection
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getAdaptationDirectionAccess().getAdaptationDirectionKeyword()); }
+
+	'AdaptationDirection' 
+
+{ after(grammarAccess.getAdaptationDirectionAccess().getAdaptationDirectionKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleObjective
+entryRuleObjective 
+:
+{ before(grammarAccess.getObjectiveRule()); }
+	 ruleObjective
+{ after(grammarAccess.getObjectiveRule()); } 
+	 EOF 
+;
+
+// Rule Objective
+ruleObjective
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getObjectiveAccess().getGroup()); }
+(rule__Objective__Group__0)
+{ after(grammarAccess.getObjectiveAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEvent
+entryRuleEvent 
+:
+{ before(grammarAccess.getEventRule()); }
+	 ruleEvent
+{ after(grammarAccess.getEventRule()); } 
+	 EOF 
+;
+
+// Rule Event
+ruleEvent
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEventAccess().getGroup()); }
+(rule__Event__Group__0)
+{ after(grammarAccess.getEventAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleWeightedTactic
+entryRuleWeightedTactic 
+:
+{ before(grammarAccess.getWeightedTacticRule()); }
+	 ruleWeightedTactic
+{ after(grammarAccess.getWeightedTacticRule()); } 
+	 EOF 
+;
+
+// Rule WeightedTactic
+ruleWeightedTactic
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getGroup()); }
+(rule__WeightedTactic__Group__0)
+{ after(grammarAccess.getWeightedTacticAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleWeightingFunction
+entryRuleWeightingFunction 
+:
+{ before(grammarAccess.getWeightingFunctionRule()); }
+	 ruleWeightingFunction
+{ after(grammarAccess.getWeightingFunctionRule()); } 
+	 EOF 
+;
+
+// Rule WeightingFunction
+ruleWeightingFunction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getGroup()); }
+(rule__WeightingFunction__Group__0)
+{ after(grammarAccess.getWeightingFunctionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSpecification
+entryRuleSpecification 
+:
+{ before(grammarAccess.getSpecificationRule()); }
+	 ruleSpecification
+{ after(grammarAccess.getSpecificationRule()); } 
+	 EOF 
+;
+
+// Rule Specification
+ruleSpecification
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getSpecificationAccess().getGroup()); }
+(rule__Specification__Group__0)
+{ after(grammarAccess.getSpecificationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleRelationalOperator
+entryRuleRelationalOperator 
+:
+{ before(grammarAccess.getRelationalOperatorRule()); }
+	 ruleRelationalOperator
+{ after(grammarAccess.getRelationalOperatorRule()); } 
+	 EOF 
+;
+
+// Rule RelationalOperator
+ruleRelationalOperator
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getRelationalOperatorAccess().getRelationalOperatorKeyword()); }
+
+	'RelationalOperator' 
+
+{ after(grammarAccess.getRelationalOperatorAccess().getRelationalOperatorKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+// Entry rule entryRuleEDate
+entryRuleEDate 
+:
+{ before(grammarAccess.getEDateRule()); }
+	 ruleEDate
+{ after(grammarAccess.getEDateRule()); } 
+	 EOF 
+;
+
+// Rule EDate
+ruleEDate
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEDateAccess().getEDateKeyword()); }
+
+	'EDate' 
+
+{ after(grammarAccess.getEDateAccess().getEDateKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMetricValue
+entryRuleMetricValue 
+:
+{ before(grammarAccess.getMetricValueRule()); }
+	 ruleMetricValue
+{ after(grammarAccess.getMetricValueRule()); } 
+	 EOF 
+;
+
+// Rule MetricValue
+ruleMetricValue
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getMetricValueAccess().getGroup()); }
+(rule__MetricValue__Group__0)
+{ after(grammarAccess.getMetricValueAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleWeightedMetric
+entryRuleWeightedMetric 
+:
+{ before(grammarAccess.getWeightedMetricRule()); }
+	 ruleWeightedMetric
+{ after(grammarAccess.getWeightedMetricRule()); } 
+	 EOF 
+;
+
+// Rule WeightedMetric
+ruleWeightedMetric
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getGroup()); }
+(rule__WeightedMetric__Group__0)
+{ after(grammarAccess.getWeightedMetricAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+rule__AbstractControlFlowElement__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); }
+	ruleStartAction
+{ after(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); }
+	ruleStopAction
+{ after(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); }
+)
+
+    |(
+{ before(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); }
+	ruleLoopAction
+{ after(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); }
+)
+
+    |(
+{ before(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); }
+	ruleBranchAction
+{ after(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); }
+)
+
+    |(
+{ before(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); }
+	ruleActionReference
+{ after(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__VariationType__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); }
+	rulePropertyRange
+{ after(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); }
+	ruleSetOfConfigurations
+{ after(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EString__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); }
+	RULE_STRING
+{ after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); }
+	RULE_ID
+{ after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Alternatives_4_0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); }
+
+	'E' 
+
+{ after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); }
+
+	'e' 
+
+{ after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+rule__AdaptationProcess__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__0__Impl
+	rule__AdaptationProcess__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); }
+
+	'AdaptationProcess' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__1__Impl
+	rule__AdaptationProcess__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); }
+(rule__AdaptationProcess__IdAssignment_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__2__Impl
+	rule__AdaptationProcess__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__3__Impl
+	rule__AdaptationProcess__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__4__Impl
+	rule__AdaptationProcess__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); }
+(rule__AdaptationProcess__NameAssignment_4)
+{ after(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__5__Impl
+	rule__AdaptationProcess__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); }
+
+	'tactics' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__6__Impl
+	rule__AdaptationProcess__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__7__Impl
+	rule__AdaptationProcess__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); }
+(rule__AdaptationProcess__TacticsAssignment_7)
+{ after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__8__Impl
+	rule__AdaptationProcess__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_8()); }
+(rule__AdaptationProcess__Group_8__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__9__Impl
+	rule__AdaptationProcess__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__10__Impl
+	rule__AdaptationProcess__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); }
+
+	'actions' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__11__Impl
+	rule__AdaptationProcess__Group__12
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__12
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__12__Impl
+	rule__AdaptationProcess__Group__13
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__12__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); }
+(rule__AdaptationProcess__ActionsAssignment_12)
+{ after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__13
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__13__Impl
+	rule__AdaptationProcess__Group__14
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__13__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_13()); }
+(rule__AdaptationProcess__Group_13__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_13()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__14
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__14__Impl
+	rule__AdaptationProcess__Group__15
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__14__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__15
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__15__Impl
+	rule__AdaptationProcess__Group__16
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__15__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); }
+
+	'strategies' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__16
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__16__Impl
+	rule__AdaptationProcess__Group__17
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__16__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__17
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__17__Impl
+	rule__AdaptationProcess__Group__18
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__17__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); }
+(rule__AdaptationProcess__StrategiesAssignment_17)
+{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__18
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__18__Impl
+	rule__AdaptationProcess__Group__19
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__18__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_18()); }
+(rule__AdaptationProcess__Group_18__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_18()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__19
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__19__Impl
+	rule__AdaptationProcess__Group__20
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__19__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__20
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__20__Impl
+	rule__AdaptationProcess__Group__21
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__20__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_20()); }
+(rule__AdaptationProcess__Group_20__0)?
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_20()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__21
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__21__Impl
+	rule__AdaptationProcess__Group__22
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__21__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); }
+
+	'goal' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__22
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__22__Impl
+	rule__AdaptationProcess__Group__23
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__22__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22()); }
+(rule__AdaptationProcess__GoalAssignment_22)
+{ after(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__23
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__23__Impl
+	rule__AdaptationProcess__Group__24
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__23__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getImportDeclarationAssignment_23()); }
+(rule__AdaptationProcess__ImportDeclarationAssignment_23)?
+{ after(grammarAccess.getAdaptationProcessAccess().getImportDeclarationAssignment_23()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group__24
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group__24__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group__24__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_24()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_24()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationProcess__Group_8__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_8__0__Impl
+	rule__AdaptationProcess__Group_8__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_8__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); }
+
+	',' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_8__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_8__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_8__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_8_1()); }
+(rule__AdaptationProcess__TacticsAssignment_8_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_8_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__AdaptationProcess__Group_13__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_13__0__Impl
+	rule__AdaptationProcess__Group_13__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_13__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); }
+
+	',' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_13__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_13__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_13__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1()); }
+(rule__AdaptationProcess__ActionsAssignment_13_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__AdaptationProcess__Group_18__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_18__0__Impl
+	rule__AdaptationProcess__Group_18__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_18__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0()); }
+
+	',' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_18__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_18__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_18__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_18_1()); }
+(rule__AdaptationProcess__StrategiesAssignment_18_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_18_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__AdaptationProcess__Group_20__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20__0__Impl
+	rule__AdaptationProcess__Group_20__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0()); }
+
+	'parameters' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_20__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20__1__Impl
+	rule__AdaptationProcess__Group_20__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_20__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20__2__Impl
+	rule__AdaptationProcess__Group_20__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_2()); }
+(rule__AdaptationProcess__ParametersAssignment_20_2)
+{ after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_20__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20__3__Impl
+	rule__AdaptationProcess__Group_20__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_20_3()); }
+(rule__AdaptationProcess__Group_20_3__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_20_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_20__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationProcess__Group_20_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20_3__0__Impl
+	rule__AdaptationProcess__Group_20_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationProcess__Group_20_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationProcess__Group_20_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__Group_20_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_3_1()); }
+(rule__AdaptationProcess__ParametersAssignment_20_3_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Tactic__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__0__Impl
+	rule__Tactic__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getTacticKeyword_0()); }
+
+	'Tactic' 
+
+{ after(grammarAccess.getTacticAccess().getTacticKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__1__Impl
+	rule__Tactic__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getIdAssignment_1()); }
+(rule__Tactic__IdAssignment_1)
+{ after(grammarAccess.getTacticAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__2__Impl
+	rule__Tactic__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__3__Impl
+	rule__Tactic__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getTacticAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__4__Impl
+	rule__Tactic__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getNameAssignment_4()); }
+(rule__Tactic__NameAssignment_4)
+{ after(grammarAccess.getTacticAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__5__Impl
+	rule__Tactic__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getGroup_5()); }
+(rule__Tactic__Group_5__0)?
+{ after(grammarAccess.getTacticAccess().getGroup_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__6__Impl
+	rule__Tactic__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getGroup_6()); }
+(rule__Tactic__Group_6__0)?
+{ after(grammarAccess.getTacticAccess().getGroup_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__7__Impl
+	rule__Tactic__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); }
+
+	'implementedPlan' 
+
+{ after(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__8__Impl
+	rule__Tactic__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getImplementedPlanAssignment_8()); }
+(rule__Tactic__ImplementedPlanAssignment_8)
+{ after(grammarAccess.getTacticAccess().getImplementedPlanAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group__9__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Tactic__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5__0__Impl
+	rule__Tactic__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); }
+
+	'inputParams' 
+
+{ after(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5__1__Impl
+	rule__Tactic__Group_5__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); }
+
+	'(' 
+
+{ after(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group_5__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5__2__Impl
+	rule__Tactic__Group_5__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2()); }
+(rule__Tactic__InputParamsAssignment_5_2)
+{ after(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group_5__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5__3__Impl
+	rule__Tactic__Group_5__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getGroup_5_3()); }
+(rule__Tactic__Group_5_3__0)*
+{ after(grammarAccess.getTacticAccess().getGroup_5_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group_5__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); }
+
+	')' 
+
+{ after(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Tactic__Group_5_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5_3__0__Impl
+	rule__Tactic__Group_5_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group_5_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_5_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_5_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsAssignment_5_3_1()); }
+(rule__Tactic__InputParamsAssignment_5_3_1)
+{ after(grammarAccess.getTacticAccess().getInputParamsAssignment_5_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Tactic__Group_6__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_6__0__Impl
+	rule__Tactic__Group_6__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_6__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); }
+
+	'outputParam' 
+
+{ after(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Tactic__Group_6__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Tactic__Group_6__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__Group_6__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1()); }
+(rule__Tactic__OutputParamAssignment_6_1)
+{ after(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Action__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__0__Impl
+	rule__Action__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getActionKeyword_0()); }
+
+	'Action' 
+
+{ after(grammarAccess.getActionAccess().getActionKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__1__Impl
+	rule__Action__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getIdAssignment_1()); }
+(rule__Action__IdAssignment_1)
+{ after(grammarAccess.getActionAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__2__Impl
+	rule__Action__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__3__Impl
+	rule__Action__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getActionAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__4__Impl
+	rule__Action__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getNameAssignment_4()); }
+(rule__Action__NameAssignment_4)
+{ after(grammarAccess.getActionAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__5__Impl
+	rule__Action__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getGroup_5()); }
+(rule__Action__Group_5__0)?
+{ after(grammarAccess.getActionAccess().getGroup_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__6__Impl
+	rule__Action__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getGroup_6()); }
+(rule__Action__Group_6__0)?
+{ after(grammarAccess.getActionAccess().getGroup_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__7__Impl
+	rule__Action__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); }
+
+	'referredAdaptationPoint' 
+
+{ after(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__8__Impl
+	rule__Action__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); }
+(rule__Action__ReferredAdaptationPointAssignment_8)
+{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__9__Impl
+	rule__Action__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); }
+
+	'adaptationActionOperation' 
+
+{ after(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__10__Impl
+	rule__Action__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); }
+(rule__Action__AdaptationActionOperationAssignment_10)
+{ after(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group__11__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); }
+
+	'}' 
+
+{ after(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Action__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_5__0__Impl
+	rule__Action__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); }
+
+	'outputParam' 
+
+{ after(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_5__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getOutputParamAssignment_5_1()); }
+(rule__Action__OutputParamAssignment_5_1)
+{ after(grammarAccess.getActionAccess().getOutputParamAssignment_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Action__Group_6__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6__0__Impl
+	rule__Action__Group_6__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); }
+
+	'inputParams' 
+
+{ after(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group_6__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6__1__Impl
+	rule__Action__Group_6__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); }
+
+	'(' 
+
+{ after(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group_6__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6__2__Impl
+	rule__Action__Group_6__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getInputParamsAssignment_6_2()); }
+(rule__Action__InputParamsAssignment_6_2)
+{ after(grammarAccess.getActionAccess().getInputParamsAssignment_6_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group_6__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6__3__Impl
+	rule__Action__Group_6__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getGroup_6_3()); }
+(rule__Action__Group_6_3__0)*
+{ after(grammarAccess.getActionAccess().getGroup_6_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group_6__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); }
+
+	')' 
+
+{ after(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Action__Group_6_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6_3__0__Impl
+	rule__Action__Group_6_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Action__Group_6_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Action__Group_6_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__Group_6_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getInputParamsAssignment_6_3_1()); }
+(rule__Action__InputParamsAssignment_6_3_1)
+{ after(grammarAccess.getActionAccess().getInputParamsAssignment_6_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Strategy__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__0__Impl
+	rule__Strategy__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); }
+
+	'Strategy' 
+
+{ after(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__1__Impl
+	rule__Strategy__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getIdAssignment_1()); }
+(rule__Strategy__IdAssignment_1)
+{ after(grammarAccess.getStrategyAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__2__Impl
+	rule__Strategy__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__3__Impl
+	rule__Strategy__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getStrategyAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__4__Impl
+	rule__Strategy__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getNameAssignment_4()); }
+(rule__Strategy__NameAssignment_4)
+{ after(grammarAccess.getStrategyAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__5__Impl
+	rule__Strategy__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); }
+
+	'objective' 
+
+{ after(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__6__Impl
+	rule__Strategy__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); }
+(rule__Strategy__ObjectiveAssignment_6)
+{ after(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__7__Impl
+	rule__Strategy__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); }
+
+	'triggeringEvents' 
+
+{ after(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__8__Impl
+	rule__Strategy__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); }
+(rule__Strategy__TriggeringEventsAssignment_8)
+{ after(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__9__Impl
+	rule__Strategy__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); }
+
+	'tactics' 
+
+{ after(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__10__Impl
+	rule__Strategy__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); }
+
+	'{' 
+
+{ after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__11__Impl
+	rule__Strategy__Group__12
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); }
+(rule__Strategy__TacticsAssignment_11)
+{ after(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__12
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__12__Impl
+	rule__Strategy__Group__13
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__12__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getGroup_12()); }
+(rule__Strategy__Group_12__0)*
+{ after(grammarAccess.getStrategyAccess().getGroup_12()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__13
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__13__Impl
+	rule__Strategy__Group__14
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__13__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); }
+
+	'}' 
+
+{ after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__14
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__14__Impl
+	rule__Strategy__Group__15
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__14__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); }
+
+	'weightingFunction' 
+
+{ after(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__15
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__15__Impl
+	rule__Strategy__Group__16
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__15__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); }
+(rule__Strategy__WeightingFunctionAssignment_15)
+{ after(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__16
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group__16__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__16__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); }
+
+	'}' 
+
+{ after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Strategy__Group_12__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group_12__0__Impl
+	rule__Strategy__Group_12__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group_12__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); }
+
+	',' 
+
+{ after(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group_12__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Strategy__Group_12__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group_12__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTacticsAssignment_12_1()); }
+(rule__Strategy__TacticsAssignment_12_1)
+{ after(grammarAccess.getStrategyAccess().getTacticsAssignment_12_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Parameter__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__0__Impl
+	rule__Parameter__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getParameterKeyword_0()); }
+
+	'Parameter' 
+
+{ after(grammarAccess.getParameterAccess().getParameterKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__1__Impl
+	rule__Parameter__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getNameAssignment_1()); }
+(rule__Parameter__NameAssignment_1)
+{ after(grammarAccess.getParameterAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__2__Impl
+	rule__Parameter__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__3__Impl
+	rule__Parameter__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getTypeKeyword_3()); }
+
+	'type' 
+
+{ after(grammarAccess.getParameterAccess().getTypeKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__4__Impl
+	rule__Parameter__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getTypeAssignment_4()); }
+(rule__Parameter__TypeAssignment_4)
+{ after(grammarAccess.getParameterAccess().getTypeAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__5__Impl
+	rule__Parameter__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getValueKeyword_5()); }
+
+	'value' 
+
+{ after(grammarAccess.getParameterAccess().getValueKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__6__Impl
+	rule__Parameter__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getValueAssignment_6()); }
+(rule__Parameter__ValueAssignment_6)
+{ after(grammarAccess.getParameterAccess().getValueAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Parameter__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Parameter__Group__7__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); }
+
+	'}' 
+
+{ after(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__OverallGoal__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__0__Impl
+	rule__OverallGoal__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); }
+
+	'OverallGoal' 
+
+{ after(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__1__Impl
+	rule__OverallGoal__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__2__Impl
+	rule__OverallGoal__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); }
+
+	'description' 
+
+{ after(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__3__Impl
+	rule__OverallGoal__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3()); }
+(rule__OverallGoal__DescriptionAssignment_3)
+{ after(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__4__Impl
+	rule__OverallGoal__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); }
+
+	'objectives' 
+
+{ after(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__5__Impl
+	rule__OverallGoal__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); }
+
+	'{' 
+
+{ after(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__6__Impl
+	rule__OverallGoal__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); }
+(rule__OverallGoal__ObjectivesAssignment_6)
+{ after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__7__Impl
+	rule__OverallGoal__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getGroup_7()); }
+(rule__OverallGoal__Group_7__0)*
+{ after(grammarAccess.getOverallGoalAccess().getGroup_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__8__Impl
+	rule__OverallGoal__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); }
+
+	'}' 
+
+{ after(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group__9__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__OverallGoal__Group_7__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group_7__0__Impl
+	rule__OverallGoal__Group_7__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group_7__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); }
+
+	',' 
+
+{ after(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OverallGoal__Group_7__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OverallGoal__Group_7__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__Group_7__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1()); }
+(rule__OverallGoal__ObjectivesAssignment_7_1)
+{ after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ImportDeclaration__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ImportDeclaration__Group__0__Impl
+	rule__ImportDeclaration__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ImportDeclaration__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getImportDeclarationAccess().getImportDeclarationKeyword_0()); }
+
+	'ImportDeclaration' 
+
+{ after(grammarAccess.getImportDeclarationAccess().getImportDeclarationKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ImportDeclaration__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ImportDeclaration__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ImportDeclaration__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); }
+(rule__ImportDeclaration__ImportURIAssignment_1)
+{ after(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__AdaptationPlan__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__0__Impl
+	rule__AdaptationPlan__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); }
+
+	'AdaptationPlan' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__1__Impl
+	rule__AdaptationPlan__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); }
+(rule__AdaptationPlan__IdAssignment_1)
+{ after(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__2__Impl
+	rule__AdaptationPlan__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__3__Impl
+	rule__AdaptationPlan__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__4__Impl
+	rule__AdaptationPlan__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); }
+(rule__AdaptationPlan__NameAssignment_4)
+{ after(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__5__Impl
+	rule__AdaptationPlan__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getGroup_5()); }
+(rule__AdaptationPlan__Group_5__0)?
+{ after(grammarAccess.getAdaptationPlanAccess().getGroup_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationPlan__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5__0__Impl
+	rule__AdaptationPlan__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); }
+
+	'steps' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5__1__Impl
+	rule__AdaptationPlan__Group_5__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group_5__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5__2__Impl
+	rule__AdaptationPlan__Group_5__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2()); }
+(rule__AdaptationPlan__StepsAssignment_5_2)
+{ after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group_5__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5__3__Impl
+	rule__AdaptationPlan__Group_5__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getGroup_5_3()); }
+(rule__AdaptationPlan__Group_5_3__0)*
+{ after(grammarAccess.getAdaptationPlanAccess().getGroup_5_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group_5__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationPlan__Group_5_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5_3__0__Impl
+	rule__AdaptationPlan__Group_5_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationPlan__Group_5_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationPlan__Group_5_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__Group_5_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_3_1()); }
+(rule__AdaptationPlan__StepsAssignment_5_3_1)
+{ after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__StartAction__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__0__Impl
+	rule__StartAction__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getStartActionAction_0()); }
+(
+
+)
+{ after(grammarAccess.getStartActionAccess().getStartActionAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__1__Impl
+	rule__StartAction__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); }
+
+	'StartAction' 
+
+{ after(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__2__Impl
+	rule__StartAction__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getIdAssignment_2()); }
+(rule__StartAction__IdAssignment_2)
+{ after(grammarAccess.getStartActionAccess().getIdAssignment_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__3__Impl
+	rule__StartAction__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); }
+
+	'{' 
+
+{ after(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__4__Impl
+	rule__StartAction__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getGroup_4()); }
+(rule__StartAction__Group_4__0)?
+{ after(grammarAccess.getStartActionAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__5__Impl
+	rule__StartAction__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getGroup_5()); }
+(rule__StartAction__Group_5__0)?
+{ after(grammarAccess.getStartActionAccess().getGroup_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__StartAction__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group_4__0__Impl
+	rule__StartAction__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); }
+
+	'predecessor' 
+
+{ after(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getPredecessorAssignment_4_1()); }
+(rule__StartAction__PredecessorAssignment_4_1)
+{ after(grammarAccess.getStartActionAccess().getPredecessorAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__StartAction__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group_5__0__Impl
+	rule__StartAction__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0()); }
+
+	'successor' 
+
+{ after(grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StartAction__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StartAction__Group_5__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getSuccessorAssignment_5_1()); }
+(rule__StartAction__SuccessorAssignment_5_1)
+{ after(grammarAccess.getStartActionAccess().getSuccessorAssignment_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__StopAction__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__0__Impl
+	rule__StopAction__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getStopActionAction_0()); }
+(
+
+)
+{ after(grammarAccess.getStopActionAccess().getStopActionAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__1__Impl
+	rule__StopAction__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getStopActionKeyword_1()); }
+
+	'StopAction' 
+
+{ after(grammarAccess.getStopActionAccess().getStopActionKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__2__Impl
+	rule__StopAction__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getIdAssignment_2()); }
+(rule__StopAction__IdAssignment_2)
+{ after(grammarAccess.getStopActionAccess().getIdAssignment_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__3__Impl
+	rule__StopAction__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3()); }
+
+	'{' 
+
+{ after(grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__4__Impl
+	rule__StopAction__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getGroup_4()); }
+(rule__StopAction__Group_4__0)?
+{ after(grammarAccess.getStopActionAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__5__Impl
+	rule__StopAction__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getGroup_5()); }
+(rule__StopAction__Group_5__0)?
+{ after(grammarAccess.getStopActionAccess().getGroup_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__StopAction__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group_4__0__Impl
+	rule__StopAction__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0()); }
+
+	'predecessor' 
+
+{ after(grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getPredecessorAssignment_4_1()); }
+(rule__StopAction__PredecessorAssignment_4_1)
+{ after(grammarAccess.getStopActionAccess().getPredecessorAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__StopAction__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group_5__0__Impl
+	rule__StopAction__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0()); }
+
+	'successor' 
+
+{ after(grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__StopAction__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__StopAction__Group_5__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getSuccessorAssignment_5_1()); }
+(rule__StopAction__SuccessorAssignment_5_1)
+{ after(grammarAccess.getStopActionAccess().getSuccessorAssignment_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__LoopAction__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__0__Impl
+	rule__LoopAction__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); }
+
+	'LoopAction' 
+
+{ after(grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__1__Impl
+	rule__LoopAction__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getIdAssignment_1()); }
+(rule__LoopAction__IdAssignment_1)
+{ after(grammarAccess.getLoopActionAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__2__Impl
+	rule__LoopAction__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__3__Impl
+	rule__LoopAction__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getGroup_3()); }
+(rule__LoopAction__Group_3__0)?
+{ after(grammarAccess.getLoopActionAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__4__Impl
+	rule__LoopAction__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getGroup_4()); }
+(rule__LoopAction__Group_4__0)?
+{ after(grammarAccess.getLoopActionAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__5__Impl
+	rule__LoopAction__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getCounterKeyword_5()); }
+
+	'counter' 
+
+{ after(grammarAccess.getLoopActionAccess().getCounterKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__6__Impl
+	rule__LoopAction__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getCounterAssignment_6()); }
+(rule__LoopAction__CounterAssignment_6)
+{ after(grammarAccess.getLoopActionAccess().getCounterAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__7__Impl
+	rule__LoopAction__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getBodyKeyword_7()); }
+
+	'body' 
+
+{ after(grammarAccess.getLoopActionAccess().getBodyKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__8__Impl
+	rule__LoopAction__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getBodyAssignment_8()); }
+(rule__LoopAction__BodyAssignment_8)
+{ after(grammarAccess.getLoopActionAccess().getBodyAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group__9__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LoopAction__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group_3__0__Impl
+	rule__LoopAction__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getPredecessorKeyword_3_0()); }
+
+	'predecessor' 
+
+{ after(grammarAccess.getLoopActionAccess().getPredecessorKeyword_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getPredecessorAssignment_3_1()); }
+(rule__LoopAction__PredecessorAssignment_3_1)
+{ after(grammarAccess.getLoopActionAccess().getPredecessorAssignment_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__LoopAction__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group_4__0__Impl
+	rule__LoopAction__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getSuccessorKeyword_4_0()); }
+
+	'successor' 
+
+{ after(grammarAccess.getLoopActionAccess().getSuccessorKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__LoopAction__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__LoopAction__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getSuccessorAssignment_4_1()); }
+(rule__LoopAction__SuccessorAssignment_4_1)
+{ after(grammarAccess.getLoopActionAccess().getSuccessorAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BranchAction__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__0__Impl
+	rule__BranchAction__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); }
+
+	'BranchAction' 
+
+{ after(grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__1__Impl
+	rule__BranchAction__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getIdAssignment_1()); }
+(rule__BranchAction__IdAssignment_1)
+{ after(grammarAccess.getBranchActionAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__2__Impl
+	rule__BranchAction__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__3__Impl
+	rule__BranchAction__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getGroup_3()); }
+(rule__BranchAction__Group_3__0)?
+{ after(grammarAccess.getBranchActionAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__4__Impl
+	rule__BranchAction__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getGroup_4()); }
+(rule__BranchAction__Group_4__0)?
+{ after(grammarAccess.getBranchActionAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__5__Impl
+	rule__BranchAction__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getGroup_5()); }
+(rule__BranchAction__Group_5__0)?
+{ after(grammarAccess.getBranchActionAccess().getGroup_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__6__Impl
+	rule__BranchAction__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getGroup_6()); }
+(rule__BranchAction__Group_6__0)?
+{ after(grammarAccess.getBranchActionAccess().getGroup_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__7__Impl
+	rule__BranchAction__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7()); }
+
+	'conditionTrueBranch' 
+
+{ after(grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__8__Impl
+	rule__BranchAction__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8()); }
+(rule__BranchAction__ConditionTrueBranchAssignment_8)
+{ after(grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__9__Impl
+	rule__BranchAction__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9()); }
+
+	'conditionFalseBranch' 
+
+{ after(grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__10__Impl
+	rule__BranchAction__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10()); }
+(rule__BranchAction__ConditionFalseBranchAssignment_10)
+{ after(grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group__11__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11()); }
+
+	'}' 
+
+{ after(grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__BranchAction__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_3__0__Impl
+	rule__BranchAction__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionKeyword_3_0()); }
+
+	'condition' 
+
+{ after(grammarAccess.getBranchActionAccess().getConditionKeyword_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionAssignment_3_1()); }
+(rule__BranchAction__ConditionAssignment_3_1)
+{ after(grammarAccess.getBranchActionAccess().getConditionAssignment_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BranchAction__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_4__0__Impl
+	rule__BranchAction__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0()); }
+
+	'predecessor' 
+
+{ after(grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getPredecessorAssignment_4_1()); }
+(rule__BranchAction__PredecessorAssignment_4_1)
+{ after(grammarAccess.getBranchActionAccess().getPredecessorAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BranchAction__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_5__0__Impl
+	rule__BranchAction__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0()); }
+
+	'successor' 
+
+{ after(grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_5__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getSuccessorAssignment_5_1()); }
+(rule__BranchAction__SuccessorAssignment_5_1)
+{ after(grammarAccess.getBranchActionAccess().getSuccessorAssignment_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BranchAction__Group_6__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_6__0__Impl
+	rule__BranchAction__Group_6__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_6__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getContextKeyword_6_0()); }
+
+	'context' 
+
+{ after(grammarAccess.getBranchActionAccess().getContextKeyword_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__BranchAction__Group_6__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__BranchAction__Group_6__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__Group_6__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getContextAssignment_6_1()); }
+(rule__BranchAction__ContextAssignment_6_1)
+{ after(grammarAccess.getBranchActionAccess().getContextAssignment_6_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActionReference__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__0__Impl
+	rule__ActionReference__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0()); }
+
+	'ActionReference' 
+
+{ after(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__1__Impl
+	rule__ActionReference__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getIdAssignment_1()); }
+(rule__ActionReference__IdAssignment_1)
+{ after(grammarAccess.getActionReferenceAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__2__Impl
+	rule__ActionReference__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__3__Impl
+	rule__ActionReference__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getGroup_3()); }
+(rule__ActionReference__Group_3__0)?
+{ after(grammarAccess.getActionReferenceAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__4__Impl
+	rule__ActionReference__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getGroup_4()); }
+(rule__ActionReference__Group_4__0)?
+{ after(grammarAccess.getActionReferenceAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__5__Impl
+	rule__ActionReference__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getRefersToKeyword_5()); }
+
+	'refersTo' 
+
+{ after(grammarAccess.getActionReferenceAccess().getRefersToKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__6__Impl
+	rule__ActionReference__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getRefersToAssignment_6()); }
+(rule__ActionReference__RefersToAssignment_6)
+{ after(grammarAccess.getActionReferenceAccess().getRefersToAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group__7__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7()); }
+
+	'}' 
+
+{ after(grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActionReference__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group_3__0__Impl
+	rule__ActionReference__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0()); }
+
+	'predecessor' 
+
+{ after(grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getPredecessorAssignment_3_1()); }
+(rule__ActionReference__PredecessorAssignment_3_1)
+{ after(grammarAccess.getActionReferenceAccess().getPredecessorAssignment_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActionReference__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group_4__0__Impl
+	rule__ActionReference__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0()); }
+
+	'successor' 
+
+{ after(grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ActionReference__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ActionReference__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getSuccessorAssignment_4_1()); }
+(rule__ActionReference__SuccessorAssignment_4_1)
+{ after(grammarAccess.getActionReferenceAccess().getSuccessorAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__AdaptationActionOperation__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__0__Impl
+	rule__AdaptationActionOperation__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0()); }
+
+	'AdaptationActionOperation' 
+
+{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationActionOperation__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__1__Impl
+	rule__AdaptationActionOperation__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationActionOperation__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__2__Impl
+	rule__AdaptationActionOperation__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2()); }
+
+	'adaptationOperationScope' 
+
+{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationActionOperation__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__3__Impl
+	rule__AdaptationActionOperation__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3()); }
+(rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3)
+{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationActionOperation__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__4__Impl
+	rule__AdaptationActionOperation__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4()); }
+
+	'adaptationOperationDirection' 
+
+{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationActionOperation__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__5__Impl
+	rule__AdaptationActionOperation__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5()); }
+(rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5)
+{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__AdaptationActionOperation__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__AdaptationActionOperation__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ModelVariableConfigurationRange__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__0__Impl
+	rule__ModelVariableConfigurationRange__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0()); }
+
+	'ModelVariableConfigurationRange' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__1__Impl
+	rule__ModelVariableConfigurationRange__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1()); }
+(rule__ModelVariableConfigurationRange__IdAssignment_1)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__2__Impl
+	rule__ModelVariableConfigurationRange__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__3__Impl
+	rule__ModelVariableConfigurationRange__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__4__Impl
+	rule__ModelVariableConfigurationRange__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4()); }
+(rule__ModelVariableConfigurationRange__NameAssignment_4)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__5__Impl
+	rule__ModelVariableConfigurationRange__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5()); }
+
+	'minValue' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__6__Impl
+	rule__ModelVariableConfigurationRange__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6()); }
+(rule__ModelVariableConfigurationRange__MinValueAssignment_6)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__7__Impl
+	rule__ModelVariableConfigurationRange__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7()); }
+
+	'maxValue' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__8__Impl
+	rule__ModelVariableConfigurationRange__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8()); }
+(rule__ModelVariableConfigurationRange__MaxValueAssignment_8)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__9__Impl
+	rule__ModelVariableConfigurationRange__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9()); }
+
+	'adaptableEntity' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__10__Impl
+	rule__ModelVariableConfigurationRange__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10()); }
+(rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelVariableConfigurationRange__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelVariableConfigurationRange__Group__11__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11()); }
+
+	'}' 
+
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ModelEntityConfigurationRange__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__0__Impl
+	rule__ModelEntityConfigurationRange__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0()); }
+
+	'ModelEntityConfigurationRange' 
+
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__1__Impl
+	rule__ModelEntityConfigurationRange__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1()); }
+(rule__ModelEntityConfigurationRange__IdAssignment_1)
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__2__Impl
+	rule__ModelEntityConfigurationRange__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__3__Impl
+	rule__ModelEntityConfigurationRange__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__4__Impl
+	rule__ModelEntityConfigurationRange__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4()); }
+(rule__ModelEntityConfigurationRange__NameAssignment_4)
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__5__Impl
+	rule__ModelEntityConfigurationRange__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5()); }
+
+	'adaptableEntity' 
+
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__6__Impl
+	rule__ModelEntityConfigurationRange__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6()); }
+(rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6)
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__7__Impl
+	rule__ModelEntityConfigurationRange__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7()); }
+
+	'variationPossibility' 
+
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__8__Impl
+	rule__ModelEntityConfigurationRange__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8()); }
+(rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8)
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__ModelEntityConfigurationRange__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__ModelEntityConfigurationRange__Group__9__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EDouble__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group__0__Impl
+	rule__EDouble__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); }
+(
+	'-' 
+)?
+{ after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EDouble__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group__1__Impl
+	rule__EDouble__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); }
+(	RULE_INT)?
+{ after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EDouble__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group__2__Impl
+	rule__EDouble__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); }
+
+	'.' 
+
+{ after(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EDouble__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group__3__Impl
+	rule__EDouble__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); }
+	RULE_INT
+{ after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EDouble__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getGroup_4()); }
+(rule__EDouble__Group_4__0)?
+{ after(grammarAccess.getEDoubleAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EDouble__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group_4__0__Impl
+	rule__EDouble__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); }
+(rule__EDouble__Alternatives_4_0)
+{ after(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EDouble__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group_4__1__Impl
+	rule__EDouble__Group_4__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); }
+(
+	'-' 
+)?
+{ after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EDouble__Group_4__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EDouble__Group_4__2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDouble__Group_4__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); }
+	RULE_INT
+{ after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PropertyRange__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__0__Impl
+	rule__PropertyRange__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0()); }
+
+	'PropertyRange' 
+
+{ after(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PropertyRange__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__1__Impl
+	rule__PropertyRange__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PropertyRange__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__2__Impl
+	rule__PropertyRange__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2()); }
+
+	'minValueConstraint' 
+
+{ after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PropertyRange__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__3__Impl
+	rule__PropertyRange__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3()); }
+(rule__PropertyRange__MinValueConstraintAssignment_3)
+{ after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PropertyRange__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__4__Impl
+	rule__PropertyRange__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4()); }
+
+	'maxValueConstraint' 
+
+{ after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PropertyRange__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__5__Impl
+	rule__PropertyRange__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5()); }
+(rule__PropertyRange__MaxValueConstraintAssignment_5)
+{ after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__PropertyRange__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__PropertyRange__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SetOfConfigurations__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group__0__Impl
+	rule__SetOfConfigurations__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0()); }
+
+	'SetOfConfigurations' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group__1__Impl
+	rule__SetOfConfigurations__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group__2__Impl
+	rule__SetOfConfigurations__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getGroup_2()); }
+(rule__SetOfConfigurations__Group_2__0)?
+{ after(grammarAccess.getSetOfConfigurationsAccess().getGroup_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group__3__Impl
+	rule__SetOfConfigurations__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3()); }
+
+	'valueConstraint' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group__4__Impl
+	rule__SetOfConfigurations__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4()); }
+(rule__SetOfConfigurations__ValueConstraintAssignment_4)
+{ after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group__5__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5()); }
+
+	'}' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SetOfConfigurations__Group_2__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2__0__Impl
+	rule__SetOfConfigurations__Group_2__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0()); }
+
+	'variants' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group_2__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2__1__Impl
+	rule__SetOfConfigurations__Group_2__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1()); }
+
+	'(' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group_2__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2__2__Impl
+	rule__SetOfConfigurations__Group_2__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2()); }
+(rule__SetOfConfigurations__VariantsAssignment_2_2)
+{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group_2__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2__3__Impl
+	rule__SetOfConfigurations__Group_2__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3()); }
+(rule__SetOfConfigurations__Group_2_3__0)*
+{ after(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group_2__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4()); }
+
+	')' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SetOfConfigurations__Group_2_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2_3__0__Impl
+	rule__SetOfConfigurations__Group_2_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__SetOfConfigurations__Group_2_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__SetOfConfigurations__Group_2_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__Group_2_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1()); }
+(rule__SetOfConfigurations__VariantsAssignment_2_3_1)
+{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OclConstraint__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OclConstraint__Group__0__Impl
+	rule__OclConstraint__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0()); }
+
+	'OclConstraint' 
+
+{ after(grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OclConstraint__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OclConstraint__Group__1__Impl
+	rule__OclConstraint__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getNameAssignment_1()); }
+(rule__OclConstraint__NameAssignment_1)
+{ after(grammarAccess.getOclConstraintAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OclConstraint__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OclConstraint__Group__2__Impl
+	rule__OclConstraint__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OclConstraint__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OclConstraint__Group__3__Impl
+	rule__OclConstraint__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getOclStringKeyword_3()); }
+
+	'oclString' 
+
+{ after(grammarAccess.getOclConstraintAccess().getOclStringKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OclConstraint__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OclConstraint__Group__4__Impl
+	rule__OclConstraint__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4()); }
+(rule__OclConstraint__OclStringAssignment_4)
+{ after(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__OclConstraint__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__OclConstraint__Group__5__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5()); }
+
+	'}' 
+
+{ after(grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Objective__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__0__Impl
+	rule__Objective__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); }
+
+	'Objective' 
+
+{ after(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__1__Impl
+	rule__Objective__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getIdAssignment_1()); }
+(rule__Objective__IdAssignment_1)
+{ after(grammarAccess.getObjectiveAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__2__Impl
+	rule__Objective__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__3__Impl
+	rule__Objective__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getObjectiveAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__4__Impl
+	rule__Objective__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getNameAssignment_4()); }
+(rule__Objective__NameAssignment_4)
+{ after(grammarAccess.getObjectiveAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__5__Impl
+	rule__Objective__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getSpecificationsKeyword_5()); }
+
+	'specifications' 
+
+{ after(grammarAccess.getObjectiveAccess().getSpecificationsKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__6__Impl
+	rule__Objective__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_6()); }
+
+	'{' 
+
+{ after(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__7__Impl
+	rule__Objective__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_7()); }
+(rule__Objective__SpecificationsAssignment_7)
+{ after(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__8__Impl
+	rule__Objective__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getGroup_8()); }
+(rule__Objective__Group_8__0)*
+{ after(grammarAccess.getObjectiveAccess().getGroup_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__9__Impl
+	rule__Objective__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group__10__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_10()); }
+
+	'}' 
+
+{ after(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Objective__Group_8__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group_8__0__Impl
+	rule__Objective__Group_8__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group_8__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getCommaKeyword_8_0()); }
+
+	',' 
+
+{ after(grammarAccess.getObjectiveAccess().getCommaKeyword_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Objective__Group_8__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Objective__Group_8__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__Group_8__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_8_1()); }
+(rule__Objective__SpecificationsAssignment_8_1)
+{ after(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_8_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Event__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Event__Group__0__Impl
+	rule__Event__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getEventKeyword_0()); }
+
+	'Event' 
+
+{ after(grammarAccess.getEventAccess().getEventKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Event__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Event__Group__1__Impl
+	rule__Event__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getIdAssignment_1()); }
+(rule__Event__IdAssignment_1)
+{ after(grammarAccess.getEventAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Event__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Event__Group__2__Impl
+	rule__Event__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Event__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Event__Group__3__Impl
+	rule__Event__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getEventAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Event__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Event__Group__4__Impl
+	rule__Event__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getNameAssignment_4()); }
+(rule__Event__NameAssignment_4)
+{ after(grammarAccess.getEventAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Event__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Event__Group__5__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5()); }
+
+	'}' 
+
+{ after(grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__WeightedTactic__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__0__Impl
+	rule__WeightedTactic__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0()); }
+
+	'WeightedTactic' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__1__Impl
+	rule__WeightedTactic__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getIdAssignment_1()); }
+(rule__WeightedTactic__IdAssignment_1)
+{ after(grammarAccess.getWeightedTacticAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__2__Impl
+	rule__WeightedTactic__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__3__Impl
+	rule__WeightedTactic__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__4__Impl
+	rule__WeightedTactic__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getNameAssignment_4()); }
+(rule__WeightedTactic__NameAssignment_4)
+{ after(grammarAccess.getWeightedTacticAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__5__Impl
+	rule__WeightedTactic__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5()); }
+
+	'currentWeight' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__6__Impl
+	rule__WeightedTactic__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6()); }
+(rule__WeightedTactic__CurrentWeightAssignment_6)
+{ after(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__7__Impl
+	rule__WeightedTactic__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7()); }
+
+	'defaultWeight' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__8__Impl
+	rule__WeightedTactic__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8()); }
+(rule__WeightedTactic__DefaultWeightAssignment_8)
+{ after(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__9__Impl
+	rule__WeightedTactic__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9()); }
+
+	'usedTactic' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__10__Impl
+	rule__WeightedTactic__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10()); }
+(rule__WeightedTactic__UsedTacticAssignment_10)
+{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__11__Impl
+	rule__WeightedTactic__Group__12
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getGroup_11()); }
+(rule__WeightedTactic__Group_11__0)?
+{ after(grammarAccess.getWeightedTacticAccess().getGroup_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group__12
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group__12__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group__12__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12()); }
+
+	'}' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__WeightedTactic__Group_11__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group_11__0__Impl
+	rule__WeightedTactic__Group_11__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group_11__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0()); }
+
+	'lastImpact' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedTactic__Group_11__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedTactic__Group_11__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__Group_11__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1()); }
+(rule__WeightedTactic__LastImpactAssignment_11_1)
+{ after(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__WeightingFunction__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__0__Impl
+	rule__WeightingFunction__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0()); }
+
+	'WeightingFunction' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__1__Impl
+	rule__WeightingFunction__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1()); }
+(rule__WeightingFunction__IdAssignment_1)
+{ after(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__2__Impl
+	rule__WeightingFunction__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__3__Impl
+	rule__WeightingFunction__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__4__Impl
+	rule__WeightingFunction__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4()); }
+(rule__WeightingFunction__NameAssignment_4)
+{ after(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__5__Impl
+	rule__WeightingFunction__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationKeyword_5()); }
+
+	'weightingFunctionImplementation' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__6__Impl
+	rule__WeightingFunction__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationAssignment_6()); }
+(rule__WeightingFunction__WeightingFunctionImplementationAssignment_6)
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__7__Impl
+	rule__WeightingFunction__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_7()); }
+
+	'weightedMetrics' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__8__Impl
+	rule__WeightingFunction__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_8()); }
+
+	'{' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__9__Impl
+	rule__WeightingFunction__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_9()); }
+(rule__WeightingFunction__WeightedMetricsAssignment_9)
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__10__Impl
+	rule__WeightingFunction__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getGroup_10()); }
+(rule__WeightingFunction__Group_10__0)*
+{ after(grammarAccess.getWeightingFunctionAccess().getGroup_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__11__Impl
+	rule__WeightingFunction__Group__12
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_11()); }
+
+	'}' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group__12
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group__12__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group__12__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_12()); }
+
+	'}' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_12()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__WeightingFunction__Group_10__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group_10__0__Impl
+	rule__WeightingFunction__Group_10__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group_10__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_10_0()); }
+
+	',' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_10_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightingFunction__Group_10__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightingFunction__Group_10__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__Group_10__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_10_1()); }
+(rule__WeightingFunction__WeightedMetricsAssignment_10_1)
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_10_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Specification__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__0__Impl
+	rule__Specification__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getSpecificationKeyword_0()); }
+
+	'Specification' 
+
+{ after(grammarAccess.getSpecificationAccess().getSpecificationKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__1__Impl
+	rule__Specification__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__2__Impl
+	rule__Specification__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getValueKeyword_2()); }
+
+	'value' 
+
+{ after(grammarAccess.getSpecificationAccess().getValueKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__3__Impl
+	rule__Specification__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getValueAssignment_3()); }
+(rule__Specification__ValueAssignment_3)
+{ after(grammarAccess.getSpecificationAccess().getValueAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__4__Impl
+	rule__Specification__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getRelationalOperatorKeyword_4()); }
+
+	'relationalOperator' 
+
+{ after(grammarAccess.getSpecificationAccess().getRelationalOperatorKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__5__Impl
+	rule__Specification__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getRelationalOperatorAssignment_5()); }
+(rule__Specification__RelationalOperatorAssignment_5)
+{ after(grammarAccess.getSpecificationAccess().getRelationalOperatorAssignment_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__6__Impl
+	rule__Specification__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getMetricTypeKeyword_6()); }
+
+	'metricType' 
+
+{ after(grammarAccess.getSpecificationAccess().getMetricTypeKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__7__Impl
+	rule__Specification__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getMetricTypeAssignment_7()); }
+(rule__Specification__MetricTypeAssignment_7)
+{ after(grammarAccess.getSpecificationAccess().getMetricTypeAssignment_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Specification__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Specification__Group__8__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_8()); }
+
+	'}' 
+
+{ after(grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__MetricValue__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__0__Impl
+	rule__MetricValue__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMetricValueKeyword_0()); }
+
+	'MetricValue' 
+
+{ after(grammarAccess.getMetricValueAccess().getMetricValueKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__1__Impl
+	rule__MetricValue__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getIdAssignment_1()); }
+(rule__MetricValue__IdAssignment_1)
+{ after(grammarAccess.getMetricValueAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__2__Impl
+	rule__MetricValue__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__3__Impl
+	rule__MetricValue__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getMetricValueAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__4__Impl
+	rule__MetricValue__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getNameAssignment_4()); }
+(rule__MetricValue__NameAssignment_4)
+{ after(grammarAccess.getMetricValueAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__5__Impl
+	rule__MetricValue__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getValueKeyword_5()); }
+
+	'value' 
+
+{ after(grammarAccess.getMetricValueAccess().getValueKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__6__Impl
+	rule__MetricValue__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getValueAssignment_6()); }
+(rule__MetricValue__ValueAssignment_6)
+{ after(grammarAccess.getMetricValueAccess().getValueAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__7__Impl
+	rule__MetricValue__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7()); }
+
+	'measuredEntity' 
+
+{ after(grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__8__Impl
+	rule__MetricValue__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8()); }
+(rule__MetricValue__MeasuredEntityAssignment_8)
+{ after(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__9__Impl
+	rule__MetricValue__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9()); }
+
+	'metricType' 
+
+{ after(grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__10__Impl
+	rule__MetricValue__Group__11
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10()); }
+(rule__MetricValue__MetricTypeAssignment_10)
+{ after(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__MetricValue__Group__11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__MetricValue__Group__11__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__Group__11__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11()); }
+
+	'}' 
+
+{ after(grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__WeightedMetric__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__0__Impl
+	rule__WeightedMetric__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0()); }
+
+	'WeightedMetric' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__1__Impl
+	rule__WeightedMetric__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getIdAssignment_1()); }
+(rule__WeightedMetric__IdAssignment_1)
+{ after(grammarAccess.getWeightedMetricAccess().getIdAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__2__Impl
+	rule__WeightedMetric__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__3__Impl
+	rule__WeightedMetric__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getNameKeyword_3()); }
+
+	'name' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getNameKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__4__Impl
+	rule__WeightedMetric__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getNameAssignment_4()); }
+(rule__WeightedMetric__NameAssignment_4)
+{ after(grammarAccess.getWeightedMetricAccess().getNameAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__5__Impl
+	rule__WeightedMetric__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getWeightKeyword_5()); }
+
+	'weight' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getWeightKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__6__Impl
+	rule__WeightedMetric__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6()); }
+(rule__WeightedMetric__WeightAssignment_6)
+{ after(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__7__Impl
+	rule__WeightedMetric__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7()); }
+
+	'metricType' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__8__Impl
+	rule__WeightedMetric__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8()); }
+(rule__WeightedMetric__MetricTypeAssignment_8)
+{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__WeightedMetric__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__WeightedMetric__Group__9__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9()); }
+
+	'}' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationProcess__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__TacticsAssignment_7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); }
+	ruleTactic{ after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__TacticsAssignment_8_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); }
+	ruleTactic{ after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__ActionsAssignment_12
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); }
+	ruleAction{ after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__ActionsAssignment_13_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); }
+	ruleAction{ after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__StrategiesAssignment_17
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); }
+	ruleStrategy{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__StrategiesAssignment_18_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); }
+	ruleStrategy{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__ParametersAssignment_20_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); }
+	ruleParameter{ after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__ParametersAssignment_20_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); }
+	ruleParameter{ after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__GoalAssignment_22
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); }
+	ruleOverallGoal{ after(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationProcess__ImportDeclarationAssignment_23
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationProcessAccess().getImportDeclarationImportDeclarationParserRuleCall_23_0()); }
+	ruleImportDeclaration{ after(grammarAccess.getAdaptationProcessAccess().getImportDeclarationImportDeclarationParserRuleCall_23_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__InputParamsAssignment_5_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); }
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_2_0_1()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_2_0_1()); }
+)
+{ after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__InputParamsAssignment_5_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); }
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_3_1_0_1()); }
+)
+{ after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__OutputParamAssignment_6_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); }
+(
+{ before(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_6_1_0_1()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_6_1_0_1()); }
+)
+{ after(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Tactic__ImplementedPlanAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); }
+	ruleAdaptationPlan{ after(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__OutputParamAssignment_5_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); }
+(
+{ before(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_5_1_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_5_1_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__InputParamsAssignment_6_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); }
+(
+{ before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_2_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_2_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__InputParamsAssignment_6_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); }
+(
+{ before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_3_1_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__ReferredAdaptationPointAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); }
+(
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Action__AdaptationActionOperationAssignment_10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); }
+	ruleAdaptationActionOperation{ after(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__ObjectiveAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); }
+(
+{ before(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_6_0_1()); }
+	ruleEString{ after(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_6_0_1()); }
+)
+{ after(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__TriggeringEventsAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); }
+	ruleEvent{ after(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__TacticsAssignment_11
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); }
+	ruleWeightedTactic{ after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__TacticsAssignment_12_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); }
+	ruleWeightedTactic{ after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Strategy__WeightingFunctionAssignment_15
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); }
+	ruleWeightingFunction{ after(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__NameAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__TypeAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Parameter__ValueAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0()); }
+	ruleEString{ after(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__DescriptionAssignment_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); }
+	ruleEString{ after(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__ObjectivesAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); }
+	ruleObjective{ after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OverallGoal__ObjectivesAssignment_7_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); }
+	ruleObjective{ after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ImportDeclaration__ImportURIAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__StepsAssignment_5_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); }
+	ruleAbstractControlFlowElement{ after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationPlan__StepsAssignment_5_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); }
+	ruleAbstractControlFlowElement{ after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__IdAssignment_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); }
+	ruleEString{ after(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__PredecessorAssignment_4_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); }
+(
+{ before(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+	ruleEString{ after(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+)
+{ after(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StartAction__SuccessorAssignment_5_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); }
+(
+{ before(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
+	ruleEString{ after(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
+)
+{ after(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__IdAssignment_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); }
+	ruleEString{ after(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__PredecessorAssignment_4_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); }
+(
+{ before(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+	ruleEString{ after(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+)
+{ after(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__StopAction__SuccessorAssignment_5_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); }
+(
+{ before(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
+	ruleEString{ after(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
+)
+{ after(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__PredecessorAssignment_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); }
+(
+{ before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); }
+)
+{ after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__SuccessorAssignment_4_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); }
+(
+{ before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+	ruleEString{ after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+)
+{ after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__CounterAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getCounterParameterCrossReference_6_0()); }
+(
+{ before(grammarAccess.getLoopActionAccess().getCounterParameterEStringParserRuleCall_6_0_1()); }
+	ruleEString{ after(grammarAccess.getLoopActionAccess().getCounterParameterEStringParserRuleCall_6_0_1()); }
+)
+{ after(grammarAccess.getLoopActionAccess().getCounterParameterCrossReference_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__LoopAction__BodyAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); }
+	ruleAdaptationPlan{ after(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__ConditionAssignment_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); }
+	ruleEString{ after(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__PredecessorAssignment_4_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); }
+(
+{ before(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+	ruleEString{ after(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+)
+{ after(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__SuccessorAssignment_5_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); }
+(
+{ before(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
+	ruleEString{ after(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
+)
+{ after(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__ContextAssignment_6_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); }
+(
+{ before(grammarAccess.getBranchActionAccess().getContextEntityEStringParserRuleCall_6_1_0_1()); }
+	ruleEString{ after(grammarAccess.getBranchActionAccess().getContextEntityEStringParserRuleCall_6_1_0_1()); }
+)
+{ after(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__ConditionTrueBranchAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); }
+	ruleAdaptationPlan{ after(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__BranchAction__ConditionFalseBranchAssignment_10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); }
+	ruleAdaptationPlan{ after(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__PredecessorAssignment_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); }
+(
+{ before(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); }
+)
+{ after(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__SuccessorAssignment_4_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); }
+(
+{ before(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+	ruleEString{ after(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); }
+)
+{ after(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ActionReference__RefersToAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); }
+(
+{ before(grammarAccess.getActionReferenceAccess().getRefersToActionEStringParserRuleCall_6_0_1()); }
+	ruleEString{ after(grammarAccess.getActionReferenceAccess().getRefersToActionEStringParserRuleCall_6_0_1()); }
+)
+{ after(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); }
+	ruleAdaptationScope{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); }
+	ruleAdaptationDirection{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__MinValueAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); }
+	ruleEDouble{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__MaxValueAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); }
+	ruleEDouble{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); }
+(
+{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); }
+	ruleEString{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); }
+)
+{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); }
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); }
+	ruleEString{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); }
+)
+{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); }
+	ruleVariationType{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__MinValueConstraintAssignment_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); }
+	ruleOclConstraint{ after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyRange__MaxValueConstraintAssignment_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); }
+	ruleOclConstraint{ after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__VariantsAssignment_2_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); }
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_2_0_1()); }
+	ruleEString{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_2_0_1()); }
+)
+{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__VariantsAssignment_2_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); }
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_3_1_0_1()); }
+)
+{ after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__SetOfConfigurations__ValueConstraintAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); }
+	ruleOclConstraint{ after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__NameAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OclConstraint__OclStringAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__SpecificationsAssignment_7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_7_0()); }
+	ruleSpecification{ after(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_7_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Objective__SpecificationsAssignment_8_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_8_1_0()); }
+	ruleSpecification{ after(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_8_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Event__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__CurrentWeightAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); }
+	ruleEDouble{ after(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__DefaultWeightAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); }
+	ruleEDouble{ after(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__UsedTacticAssignment_10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); }
+(
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_10_0_1()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_10_0_1()); }
+)
+{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedTactic__LastImpactAssignment_11_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); }
+(
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_11_1_0_1()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_11_1_0_1()); }
+)
+{ after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__WeightingFunctionImplementationAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationEStringParserRuleCall_6_0()); }
+	ruleEString{ after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationEStringParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__WeightedMetricsAssignment_9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_9_0()); }
+	ruleWeightedMetric{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_9_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightingFunction__WeightedMetricsAssignment_10_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_10_1_0()); }
+	ruleWeightedMetric{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_10_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__ValueAssignment_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0()); }
+	ruleEDouble{ after(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__RelationalOperatorAssignment_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0()); }
+	ruleRelationalOperator{ after(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Specification__MetricTypeAssignment_7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeCrossReference_7_0()); }
+(
+{ before(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeEStringParserRuleCall_7_0_1()); }
+	ruleEString{ after(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeEStringParserRuleCall_7_0_1()); }
+)
+{ after(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeCrossReference_7_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__MetricValue__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__ValueAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); }
+	ruleEDouble{ after(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__MeasuredEntityAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); }
+(
+{ before(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1()); }
+	ruleEString{ after(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1()); }
+)
+{ after(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__MetricValue__MetricTypeAssignment_10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); }
+(
+{ before(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1()); }
+	ruleEString{ after(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1()); }
+)
+{ after(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+rule__WeightedMetric__IdAssignment_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__NameAssignment_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); }
+	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__WeightAssignment_6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); }
+	ruleEDouble{ after(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__WeightedMetric__MetricTypeAssignment_8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); }
+(
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); }
+	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); }
+)
+{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.tokens b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.tokens
new file mode 100644
index 0000000000000000000000000000000000000000..8be9f572bd914b0b673b95617555b24644976e76
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.tokens
@@ -0,0 +1,185 @@
+RULE_ID=5
+T__29=29
+T__28=28
+T__27=27
+T__26=26
+T__25=25
+T__24=24
+T__23=23
+T__22=22
+RULE_ANY_OTHER=10
+T__21=21
+T__20=20
+T__93=93
+T__19=19
+T__94=94
+T__91=91
+T__92=92
+T__16=16
+T__15=15
+T__90=90
+T__18=18
+T__17=17
+T__12=12
+T__11=11
+T__14=14
+T__13=13
+T__99=99
+T__98=98
+T__97=97
+T__96=96
+T__95=95
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__85=85
+T__84=84
+T__87=87
+T__86=86
+T__89=89
+T__88=88
+RULE_ML_COMMENT=7
+RULE_STRING=4
+T__71=71
+T__72=72
+T__70=70
+T__76=76
+T__75=75
+T__74=74
+T__73=73
+T__79=79
+T__78=78
+T__77=77
+T__68=68
+T__69=69
+T__66=66
+T__67=67
+T__64=64
+T__65=65
+T__62=62
+T__63=63
+T__61=61
+T__60=60
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__59=59
+RULE_INT=6
+T__50=50
+T__42=42
+T__43=43
+T__40=40
+T__41=41
+T__46=46
+T__47=47
+T__44=44
+T__45=45
+T__48=48
+T__49=49
+RULE_SL_COMMENT=8
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+RULE_WS=9
+'adaptationOperationScope'=64
+'adaptationActionOperation'=35
+'Objective'=82
+'counter'=54
+'conditionFalseBranch'=58
+'type'=41
+'Event'=84
+'e'=16
+'AdaptationPlan'=47
+'weightingFunction'=39
+'value'=42
+'maxValue'=68
+'minValueConstraint'=75
+'inputParams'=29
+'body'=55
+'defaultWeight'=87
+'currentWeight'=86
+'.'=73
+'adaptableEntity'=69
+'OclConstraint'=80
+'usedTactic'=88
+'objectives'=45
+'SetOfConfigurations'=77
+'condition'=59
+'weightingFunctionImplementation'=91
+'AdaptationDirection'=12
+'referredAdaptationPoint'=34
+'{'=18
+'conditionTrueBranch'=57
+'goal'=24
+'Specification'=93
+'WeightingFunction'=90
+'EDate'=14
+'('=30
+'-'=72
+','=25
+'tactics'=20
+'context'=60
+'ImportDeclaration'=46
+'implementedPlan'=28
+'AdaptationActionOperation'=63
+'refersTo'=62
+'ActionReference'=61
+'WeightedMetric'=98
+'variationPossibility'=71
+'oclString'=81
+'valueConstraint'=78
+'StopAction'=52
+'weightedMetrics'=92
+'ModelVariableConfigurationRange'=66
+'steps'=48
+'metricType'=95
+'lastImpact'=89
+'BranchAction'=56
+'ModelEntityConfigurationRange'=70
+'Tactic'=27
+'successor'=51
+')'=31
+'Strategy'=36
+'AdaptationScope'=11
+'strategies'=23
+'StartAction'=49
+'triggeringEvents'=38
+'parameters'=26
+'}'=21
+'RelationalOperator'=13
+'LoopAction'=53
+'minValue'=67
+'actions'=22
+'objective'=37
+'weight'=99
+'maxValueConstraint'=76
+'description'=44
+'predecessor'=50
+'relationalOperator'=94
+'measuredEntity'=97
+'WeightedTactic'=85
+'AdaptationProcess'=17
+'Action'=33
+'Parameter'=40
+'OverallGoal'=43
+'PropertyRange'=74
+'adaptationOperationDirection'=65
+'outputParam'=32
+'name'=19
+'specifications'=83
+'E'=15
+'MetricValue'=96
+'variants'=79
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLangLexer.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLangLexer.java
new file mode 100644
index 0000000000000000000000000000000000000000..26ba41f24457632f8455c234b7caf3935b5ad7f2
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLangLexer.java
@@ -0,0 +1,4499 @@
+package edu.kit.ipd.descartes.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;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStaLangLexer extends Lexer {
+    public static final int RULE_ID=5;
+    public static final int T__29=29;
+    public static final int T__28=28;
+    public static final int T__27=27;
+    public static final int T__26=26;
+    public static final int T__25=25;
+    public static final int T__24=24;
+    public static final int T__23=23;
+    public static final int T__22=22;
+    public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
+    public static final int T__20=20;
+    public static final int EOF=-1;
+    public static final int T__93=93;
+    public static final int T__19=19;
+    public static final int T__94=94;
+    public static final int T__91=91;
+    public static final int T__92=92;
+    public static final int T__16=16;
+    public static final int T__90=90;
+    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__12=12;
+    public static final int T__11=11;
+    public static final int T__14=14;
+    public static final int T__13=13;
+    public static final int T__99=99;
+    public static final int T__98=98;
+    public static final int T__97=97;
+    public static final int T__96=96;
+    public static final int T__95=95;
+    public static final int T__80=80;
+    public static final int T__81=81;
+    public static final int T__82=82;
+    public static final int T__83=83;
+    public static final int T__85=85;
+    public static final int T__84=84;
+    public static final int T__87=87;
+    public static final int T__86=86;
+    public static final int T__89=89;
+    public static final int T__88=88;
+    public static final int RULE_ML_COMMENT=7;
+    public static final int RULE_STRING=4;
+    public static final int T__71=71;
+    public static final int T__72=72;
+    public static final int T__70=70;
+    public static final int T__76=76;
+    public static final int T__75=75;
+    public static final int T__74=74;
+    public static final int T__73=73;
+    public static final int T__79=79;
+    public static final int T__78=78;
+    public static final int T__77=77;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__66=66;
+    public static final int T__67=67;
+    public static final int T__64=64;
+    public static final int T__65=65;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__61=61;
+    public static final int T__60=60;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__52=52;
+    public static final int T__53=53;
+    public static final int T__54=54;
+    public static final int T__59=59;
+    public static final int RULE_INT=6;
+    public static final int T__50=50;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int RULE_SL_COMMENT=8;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int RULE_WS=9;
+
+    // delegates
+    // delegators
+
+    public InternalStaLangLexer() {;} 
+    public InternalStaLangLexer(CharStream input) {
+        this(input, new RecognizerSharedState());
+    }
+    public InternalStaLangLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
+    }
+    public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g"; }
+
+    // $ANTLR start "T__11"
+    public final void mT__11() throws RecognitionException {
+        try {
+            int _type = T__11;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11:7: ( 'AdaptationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11:9: 'AdaptationScope'
+            {
+            match("AdaptationScope"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__11"
+
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
+        try {
+            int _type = T__12;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12:7: ( 'AdaptationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12:9: 'AdaptationDirection'
+            {
+            match("AdaptationDirection"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13:7: ( 'RelationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13:9: 'RelationalOperator'
+            {
+            match("RelationalOperator"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__13"
+
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
+        try {
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:14:7: ( 'EDate' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:14:9: 'EDate'
+            {
+            match("EDate"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__14"
+
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
+        try {
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:15:7: ( 'E' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:15:9: 'E'
+            {
+            match('E'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__15"
+
+    // $ANTLR start "T__16"
+    public final void mT__16() throws RecognitionException {
+        try {
+            int _type = T__16;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:16:7: ( 'e' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:16:9: 'e'
+            {
+            match('e'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__16"
+
+    // $ANTLR start "T__17"
+    public final void mT__17() throws RecognitionException {
+        try {
+            int _type = T__17;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:17:7: ( 'AdaptationProcess' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:17:9: 'AdaptationProcess'
+            {
+            match("AdaptationProcess"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__17"
+
+    // $ANTLR start "T__18"
+    public final void mT__18() throws RecognitionException {
+        try {
+            int _type = T__18;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:18:7: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:18:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__18"
+
+    // $ANTLR start "T__19"
+    public final void mT__19() throws RecognitionException {
+        try {
+            int _type = T__19;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:19:7: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:19:9: 'name'
+            {
+            match("name"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__19"
+
+    // $ANTLR start "T__20"
+    public final void mT__20() throws RecognitionException {
+        try {
+            int _type = T__20;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:20:7: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:20:9: 'tactics'
+            {
+            match("tactics"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__20"
+
+    // $ANTLR start "T__21"
+    public final void mT__21() throws RecognitionException {
+        try {
+            int _type = T__21;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:21:7: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:21:9: '}'
+            {
+            match('}'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__21"
+
+    // $ANTLR start "T__22"
+    public final void mT__22() throws RecognitionException {
+        try {
+            int _type = T__22;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:22:7: ( 'actions' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:22:9: 'actions'
+            {
+            match("actions"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__22"
+
+    // $ANTLR start "T__23"
+    public final void mT__23() throws RecognitionException {
+        try {
+            int _type = T__23;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:23:7: ( 'strategies' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:23:9: 'strategies'
+            {
+            match("strategies"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__23"
+
+    // $ANTLR start "T__24"
+    public final void mT__24() throws RecognitionException {
+        try {
+            int _type = T__24;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:24:7: ( 'goal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:24:9: 'goal'
+            {
+            match("goal"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__24"
+
+    // $ANTLR start "T__25"
+    public final void mT__25() throws RecognitionException {
+        try {
+            int _type = T__25;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:25:7: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:25:9: ','
+            {
+            match(','); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__25"
+
+    // $ANTLR start "T__26"
+    public final void mT__26() throws RecognitionException {
+        try {
+            int _type = T__26;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:26:7: ( 'parameters' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:26:9: 'parameters'
+            {
+            match("parameters"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__26"
+
+    // $ANTLR start "T__27"
+    public final void mT__27() throws RecognitionException {
+        try {
+            int _type = T__27;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:27:7: ( 'Tactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:27:9: 'Tactic'
+            {
+            match("Tactic"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__27"
+
+    // $ANTLR start "T__28"
+    public final void mT__28() throws RecognitionException {
+        try {
+            int _type = T__28;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:28:7: ( 'implementedPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:28:9: 'implementedPlan'
+            {
+            match("implementedPlan"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__28"
+
+    // $ANTLR start "T__29"
+    public final void mT__29() throws RecognitionException {
+        try {
+            int _type = T__29;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:29:7: ( 'inputParams' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:29:9: 'inputParams'
+            {
+            match("inputParams"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__29"
+
+    // $ANTLR start "T__30"
+    public final void mT__30() throws RecognitionException {
+        try {
+            int _type = T__30;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:30:7: ( '(' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:30:9: '('
+            {
+            match('('); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__30"
+
+    // $ANTLR start "T__31"
+    public final void mT__31() throws RecognitionException {
+        try {
+            int _type = T__31;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:31:7: ( ')' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:31:9: ')'
+            {
+            match(')'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__31"
+
+    // $ANTLR start "T__32"
+    public final void mT__32() throws RecognitionException {
+        try {
+            int _type = T__32;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:32:7: ( 'outputParam' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:32:9: 'outputParam'
+            {
+            match("outputParam"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__32"
+
+    // $ANTLR start "T__33"
+    public final void mT__33() throws RecognitionException {
+        try {
+            int _type = T__33;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:33:7: ( 'Action' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:33:9: 'Action'
+            {
+            match("Action"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__33"
+
+    // $ANTLR start "T__34"
+    public final void mT__34() throws RecognitionException {
+        try {
+            int _type = T__34;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:34:7: ( 'referredAdaptationPoint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:34:9: 'referredAdaptationPoint'
+            {
+            match("referredAdaptationPoint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__34"
+
+    // $ANTLR start "T__35"
+    public final void mT__35() throws RecognitionException {
+        try {
+            int _type = T__35;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:35:7: ( 'adaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:35:9: 'adaptationActionOperation'
+            {
+            match("adaptationActionOperation"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__35"
+
+    // $ANTLR start "T__36"
+    public final void mT__36() throws RecognitionException {
+        try {
+            int _type = T__36;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:36:7: ( 'Strategy' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:36:9: 'Strategy'
+            {
+            match("Strategy"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__36"
+
+    // $ANTLR start "T__37"
+    public final void mT__37() throws RecognitionException {
+        try {
+            int _type = T__37;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:37:7: ( 'objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:37:9: 'objective'
+            {
+            match("objective"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__37"
+
+    // $ANTLR start "T__38"
+    public final void mT__38() throws RecognitionException {
+        try {
+            int _type = T__38;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:38:7: ( 'triggeringEvents' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:38:9: 'triggeringEvents'
+            {
+            match("triggeringEvents"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__38"
+
+    // $ANTLR start "T__39"
+    public final void mT__39() throws RecognitionException {
+        try {
+            int _type = T__39;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:39:7: ( 'weightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:39:9: 'weightingFunction'
+            {
+            match("weightingFunction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__39"
+
+    // $ANTLR start "T__40"
+    public final void mT__40() throws RecognitionException {
+        try {
+            int _type = T__40;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:40:7: ( 'Parameter' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:40:9: 'Parameter'
+            {
+            match("Parameter"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__40"
+
+    // $ANTLR start "T__41"
+    public final void mT__41() throws RecognitionException {
+        try {
+            int _type = T__41;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:41:7: ( 'type' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:41:9: 'type'
+            {
+            match("type"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__41"
+
+    // $ANTLR start "T__42"
+    public final void mT__42() throws RecognitionException {
+        try {
+            int _type = T__42;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:42:7: ( 'value' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:42:9: 'value'
+            {
+            match("value"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__42"
+
+    // $ANTLR start "T__43"
+    public final void mT__43() throws RecognitionException {
+        try {
+            int _type = T__43;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:43:7: ( 'OverallGoal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:43:9: 'OverallGoal'
+            {
+            match("OverallGoal"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__43"
+
+    // $ANTLR start "T__44"
+    public final void mT__44() throws RecognitionException {
+        try {
+            int _type = T__44;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:44:7: ( 'description' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:44:9: 'description'
+            {
+            match("description"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__44"
+
+    // $ANTLR start "T__45"
+    public final void mT__45() throws RecognitionException {
+        try {
+            int _type = T__45;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:45:7: ( 'objectives' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:45:9: 'objectives'
+            {
+            match("objectives"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__45"
+
+    // $ANTLR start "T__46"
+    public final void mT__46() throws RecognitionException {
+        try {
+            int _type = T__46;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:46:7: ( 'ImportDeclaration' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:46:9: 'ImportDeclaration'
+            {
+            match("ImportDeclaration"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__46"
+
+    // $ANTLR start "T__47"
+    public final void mT__47() throws RecognitionException {
+        try {
+            int _type = T__47;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:47:7: ( 'AdaptationPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:47:9: 'AdaptationPlan'
+            {
+            match("AdaptationPlan"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__47"
+
+    // $ANTLR start "T__48"
+    public final void mT__48() throws RecognitionException {
+        try {
+            int _type = T__48;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:48:7: ( 'steps' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:48:9: 'steps'
+            {
+            match("steps"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__48"
+
+    // $ANTLR start "T__49"
+    public final void mT__49() throws RecognitionException {
+        try {
+            int _type = T__49;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:49:7: ( 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:49:9: 'StartAction'
+            {
+            match("StartAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__49"
+
+    // $ANTLR start "T__50"
+    public final void mT__50() throws RecognitionException {
+        try {
+            int _type = T__50;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:50:7: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:50:9: 'predecessor'
+            {
+            match("predecessor"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__50"
+
+    // $ANTLR start "T__51"
+    public final void mT__51() throws RecognitionException {
+        try {
+            int _type = T__51;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:51:7: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:51:9: 'successor'
+            {
+            match("successor"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__51"
+
+    // $ANTLR start "T__52"
+    public final void mT__52() throws RecognitionException {
+        try {
+            int _type = T__52;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:52:7: ( 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:52:9: 'StopAction'
+            {
+            match("StopAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__52"
+
+    // $ANTLR start "T__53"
+    public final void mT__53() throws RecognitionException {
+        try {
+            int _type = T__53;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:53:7: ( 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:53:9: 'LoopAction'
+            {
+            match("LoopAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__53"
+
+    // $ANTLR start "T__54"
+    public final void mT__54() throws RecognitionException {
+        try {
+            int _type = T__54;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:54:7: ( 'counter' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:54:9: 'counter'
+            {
+            match("counter"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__54"
+
+    // $ANTLR start "T__55"
+    public final void mT__55() throws RecognitionException {
+        try {
+            int _type = T__55;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:55:7: ( 'body' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:55:9: 'body'
+            {
+            match("body"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__55"
+
+    // $ANTLR start "T__56"
+    public final void mT__56() throws RecognitionException {
+        try {
+            int _type = T__56;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:56:7: ( 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:56:9: 'BranchAction'
+            {
+            match("BranchAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__56"
+
+    // $ANTLR start "T__57"
+    public final void mT__57() throws RecognitionException {
+        try {
+            int _type = T__57;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:57:7: ( 'conditionTrueBranch' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:57:9: 'conditionTrueBranch'
+            {
+            match("conditionTrueBranch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__57"
+
+    // $ANTLR start "T__58"
+    public final void mT__58() throws RecognitionException {
+        try {
+            int _type = T__58;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:58:7: ( 'conditionFalseBranch' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:58:9: 'conditionFalseBranch'
+            {
+            match("conditionFalseBranch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__58"
+
+    // $ANTLR start "T__59"
+    public final void mT__59() throws RecognitionException {
+        try {
+            int _type = T__59;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:59:7: ( 'condition' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:59:9: 'condition'
+            {
+            match("condition"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__59"
+
+    // $ANTLR start "T__60"
+    public final void mT__60() throws RecognitionException {
+        try {
+            int _type = T__60;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:60:7: ( 'context' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:60:9: 'context'
+            {
+            match("context"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__60"
+
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
+        try {
+            int _type = T__61;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:61:7: ( 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:61:9: 'ActionReference'
+            {
+            match("ActionReference"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "T__62"
+    public final void mT__62() throws RecognitionException {
+        try {
+            int _type = T__62;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:62:7: ( 'refersTo' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:62:9: 'refersTo'
+            {
+            match("refersTo"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__62"
+
+    // $ANTLR start "T__63"
+    public final void mT__63() throws RecognitionException {
+        try {
+            int _type = T__63;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:63:7: ( 'AdaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:63:9: 'AdaptationActionOperation'
+            {
+            match("AdaptationActionOperation"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__63"
+
+    // $ANTLR start "T__64"
+    public final void mT__64() throws RecognitionException {
+        try {
+            int _type = T__64;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:64:7: ( 'adaptationOperationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:64:9: 'adaptationOperationScope'
+            {
+            match("adaptationOperationScope"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__64"
+
+    // $ANTLR start "T__65"
+    public final void mT__65() throws RecognitionException {
+        try {
+            int _type = T__65;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:65:7: ( 'adaptationOperationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:65:9: 'adaptationOperationDirection'
+            {
+            match("adaptationOperationDirection"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__65"
+
+    // $ANTLR start "T__66"
+    public final void mT__66() throws RecognitionException {
+        try {
+            int _type = T__66;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:66:7: ( 'ModelVariableConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:66:9: 'ModelVariableConfigurationRange'
+            {
+            match("ModelVariableConfigurationRange"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__66"
+
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:67:7: ( 'minValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:67:9: 'minValue'
+            {
+            match("minValue"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:68:7: ( 'maxValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:68:9: 'maxValue'
+            {
+            match("maxValue"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
+    // $ANTLR start "T__69"
+    public final void mT__69() throws RecognitionException {
+        try {
+            int _type = T__69;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:69:7: ( 'adaptableEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:69:9: 'adaptableEntity'
+            {
+            match("adaptableEntity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__69"
+
+    // $ANTLR start "T__70"
+    public final void mT__70() throws RecognitionException {
+        try {
+            int _type = T__70;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:70:7: ( 'ModelEntityConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:70:9: 'ModelEntityConfigurationRange'
+            {
+            match("ModelEntityConfigurationRange"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__70"
+
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
+        try {
+            int _type = T__71;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:71:7: ( 'variationPossibility' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:71:9: 'variationPossibility'
+            {
+            match("variationPossibility"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "T__72"
+    public final void mT__72() throws RecognitionException {
+        try {
+            int _type = T__72;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:72:7: ( '-' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:72:9: '-'
+            {
+            match('-'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__72"
+
+    // $ANTLR start "T__73"
+    public final void mT__73() throws RecognitionException {
+        try {
+            int _type = T__73;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:73:7: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:73:9: '.'
+            {
+            match('.'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__73"
+
+    // $ANTLR start "T__74"
+    public final void mT__74() throws RecognitionException {
+        try {
+            int _type = T__74;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:74:7: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:74:9: 'PropertyRange'
+            {
+            match("PropertyRange"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__74"
+
+    // $ANTLR start "T__75"
+    public final void mT__75() throws RecognitionException {
+        try {
+            int _type = T__75;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:75:7: ( 'minValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:75:9: 'minValueConstraint'
+            {
+            match("minValueConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__75"
+
+    // $ANTLR start "T__76"
+    public final void mT__76() throws RecognitionException {
+        try {
+            int _type = T__76;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:76:7: ( 'maxValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:76:9: 'maxValueConstraint'
+            {
+            match("maxValueConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__76"
+
+    // $ANTLR start "T__77"
+    public final void mT__77() throws RecognitionException {
+        try {
+            int _type = T__77;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:77:7: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:77:9: 'SetOfConfigurations'
+            {
+            match("SetOfConfigurations"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__77"
+
+    // $ANTLR start "T__78"
+    public final void mT__78() throws RecognitionException {
+        try {
+            int _type = T__78;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:78:7: ( 'valueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:78:9: 'valueConstraint'
+            {
+            match("valueConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__78"
+
+    // $ANTLR start "T__79"
+    public final void mT__79() throws RecognitionException {
+        try {
+            int _type = T__79;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:79:7: ( 'variants' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:79:9: 'variants'
+            {
+            match("variants"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__79"
+
+    // $ANTLR start "T__80"
+    public final void mT__80() throws RecognitionException {
+        try {
+            int _type = T__80;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:80:7: ( 'OclConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:80:9: 'OclConstraint'
+            {
+            match("OclConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__80"
+
+    // $ANTLR start "T__81"
+    public final void mT__81() throws RecognitionException {
+        try {
+            int _type = T__81;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:81:7: ( 'oclString' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:81:9: 'oclString'
+            {
+            match("oclString"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__81"
+
+    // $ANTLR start "T__82"
+    public final void mT__82() throws RecognitionException {
+        try {
+            int _type = T__82;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:82:7: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:82:9: 'Objective'
+            {
+            match("Objective"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__82"
+
+    // $ANTLR start "T__83"
+    public final void mT__83() throws RecognitionException {
+        try {
+            int _type = T__83;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:83:7: ( 'specifications' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:83:9: 'specifications'
+            {
+            match("specifications"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__83"
+
+    // $ANTLR start "T__84"
+    public final void mT__84() throws RecognitionException {
+        try {
+            int _type = T__84;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:84:7: ( 'Event' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:84:9: 'Event'
+            {
+            match("Event"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__84"
+
+    // $ANTLR start "T__85"
+    public final void mT__85() throws RecognitionException {
+        try {
+            int _type = T__85;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:85:7: ( 'WeightedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:85:9: 'WeightedTactic'
+            {
+            match("WeightedTactic"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__85"
+
+    // $ANTLR start "T__86"
+    public final void mT__86() throws RecognitionException {
+        try {
+            int _type = T__86;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:86:7: ( 'currentWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:86:9: 'currentWeight'
+            {
+            match("currentWeight"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__86"
+
+    // $ANTLR start "T__87"
+    public final void mT__87() throws RecognitionException {
+        try {
+            int _type = T__87;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:87:7: ( 'defaultWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:87:9: 'defaultWeight'
+            {
+            match("defaultWeight"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__87"
+
+    // $ANTLR start "T__88"
+    public final void mT__88() throws RecognitionException {
+        try {
+            int _type = T__88;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:88:7: ( 'usedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:88:9: 'usedTactic'
+            {
+            match("usedTactic"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__88"
+
+    // $ANTLR start "T__89"
+    public final void mT__89() throws RecognitionException {
+        try {
+            int _type = T__89;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:89:7: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:89:9: 'lastImpact'
+            {
+            match("lastImpact"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__89"
+
+    // $ANTLR start "T__90"
+    public final void mT__90() throws RecognitionException {
+        try {
+            int _type = T__90;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:90:7: ( 'WeightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:90:9: 'WeightingFunction'
+            {
+            match("WeightingFunction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__90"
+
+    // $ANTLR start "T__91"
+    public final void mT__91() throws RecognitionException {
+        try {
+            int _type = T__91;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:91:7: ( 'weightingFunctionImplementation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:91:9: 'weightingFunctionImplementation'
+            {
+            match("weightingFunctionImplementation"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__91"
+
+    // $ANTLR start "T__92"
+    public final void mT__92() throws RecognitionException {
+        try {
+            int _type = T__92;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:92:7: ( 'weightedMetrics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:92:9: 'weightedMetrics'
+            {
+            match("weightedMetrics"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__92"
+
+    // $ANTLR start "T__93"
+    public final void mT__93() throws RecognitionException {
+        try {
+            int _type = T__93;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:93:7: ( 'Specification' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:93:9: 'Specification'
+            {
+            match("Specification"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__93"
+
+    // $ANTLR start "T__94"
+    public final void mT__94() throws RecognitionException {
+        try {
+            int _type = T__94;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:94:7: ( 'relationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:94:9: 'relationalOperator'
+            {
+            match("relationalOperator"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__94"
+
+    // $ANTLR start "T__95"
+    public final void mT__95() throws RecognitionException {
+        try {
+            int _type = T__95;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:95:7: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:95:9: 'metricType'
+            {
+            match("metricType"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__95"
+
+    // $ANTLR start "T__96"
+    public final void mT__96() throws RecognitionException {
+        try {
+            int _type = T__96;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:96:7: ( 'MetricValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:96:9: 'MetricValue'
+            {
+            match("MetricValue"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__96"
+
+    // $ANTLR start "T__97"
+    public final void mT__97() throws RecognitionException {
+        try {
+            int _type = T__97;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:97:7: ( 'measuredEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:97:9: 'measuredEntity'
+            {
+            match("measuredEntity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__97"
+
+    // $ANTLR start "T__98"
+    public final void mT__98() throws RecognitionException {
+        try {
+            int _type = T__98;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:98:7: ( 'WeightedMetric' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:98:9: 'WeightedMetric'
+            {
+            match("WeightedMetric"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__98"
+
+    // $ANTLR start "T__99"
+    public final void mT__99() throws RecognitionException {
+        try {
+            int _type = T__99;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:99:7: ( 'weight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:99:9: 'weight'
+            {
+            match("weight"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__99"
+
+    // $ANTLR start "RULE_ID"
+    public final void mRULE_ID() throws RecognitionException {
+        try {
+            int _type = RULE_ID;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13964:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13964:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13964:11: ( '^' )?
+            int alt1=2;
+            int LA1_0 = input.LA(1);
+
+            if ( (LA1_0=='^') ) {
+                alt1=1;
+            }
+            switch (alt1) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13964:11: '^'
+                    {
+                    match('^'); 
+
+                    }
+                    break;
+
+            }
+
+            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13964:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ID"
+
+    // $ANTLR start "RULE_INT"
+    public final void mRULE_INT() throws RecognitionException {
+        try {
+            int _type = RULE_INT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13966:10: ( ( '0' .. '9' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13966:12: ( '0' .. '9' )+
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13966:12: ( '0' .. '9' )+
+            int cnt3=0;
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+
+                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+                    alt3=1;
+                }
+
+
+                switch (alt3) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13966:13: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt3 >= 1 ) break loop3;
+                        EarlyExitException eee =
+                            new EarlyExitException(3, input);
+                        throw eee;
+                }
+                cnt3++;
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_INT"
+
+    // $ANTLR start "RULE_STRING"
+    public final void mRULE_STRING() throws RecognitionException {
+        try {
+            int _type = RULE_STRING;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0=='\"') ) {
+                alt6=1;
+            }
+            else if ( (LA6_0=='\'') ) {
+                alt6=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 6, 0, input);
+
+                throw nvae;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    {
+                    match('\"'); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop4:
+                    do {
+                        int alt4=3;
+                        int LA4_0 = input.LA(1);
+
+                        if ( (LA4_0=='\\') ) {
+                            alt4=1;
+                        }
+                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+                            alt4=2;
+                        }
+
+
+                        switch (alt4) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968: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' && input.LA(1)<='u') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    {
+                    	    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;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop4;
+                        }
+                    } while (true);
+
+                    match('\"'); 
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    {
+                    match('\''); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop5:
+                    do {
+                        int alt5=3;
+                        int LA5_0 = input.LA(1);
+
+                        if ( (LA5_0=='\\') ) {
+                            alt5=1;
+                        }
+                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+                            alt5=2;
+                        }
+
+
+                        switch (alt5) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968: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' && input.LA(1)<='u') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13968:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    {
+                    	    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;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop5;
+                        }
+                    } while (true);
+
+                    match('\''); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_STRING"
+
+    // $ANTLR start "RULE_ML_COMMENT"
+    public final void mRULE_ML_COMMENT() throws RecognitionException {
+        try {
+            int _type = RULE_ML_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13970:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13970:19: '/*' ( options {greedy=false; } : . )* '*/'
+            {
+            match("/*"); 
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13970:24: ( options {greedy=false; } : . )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+
+                if ( (LA7_0=='*') ) {
+                    int LA7_1 = input.LA(2);
+
+                    if ( (LA7_1=='/') ) {
+                        alt7=2;
+                    }
+                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+                        alt7=1;
+                    }
+
+
+                }
+                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+                    alt7=1;
+                }
+
+
+                switch (alt7) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13970:52: .
+            	    {
+            	    matchAny(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+            match("*/"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ML_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;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            {
+            match("//"); 
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
+
+                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+                    alt8=1;
+                }
+
+
+                switch (alt8) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972: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)<='\uFFFF') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
+                }
+            } while (true);
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:40: ( ( '\\r' )? '\\n' )?
+            int alt10=2;
+            int LA10_0 = input.LA(1);
+
+            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+                alt10=1;
+            }
+            switch (alt10) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:41: ( '\\r' )? '\\n'
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:41: ( '\\r' )?
+                    int alt9=2;
+                    int LA9_0 = input.LA(1);
+
+                    if ( (LA9_0=='\r') ) {
+                        alt9=1;
+                    }
+                    switch (alt9) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13972:41: '\\r'
+                            {
+                            match('\r'); 
+
+                            }
+                            break;
+
+                    }
+
+                    match('\n'); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_SL_COMMENT"
+
+    // $ANTLR start "RULE_WS"
+    public final void mRULE_WS() throws RecognitionException {
+        try {
+            int _type = RULE_WS;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13974:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13974:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13974:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt11=0;
+            loop11:
+            do {
+                int alt11=2;
+                int LA11_0 = input.LA(1);
+
+                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+                    alt11=1;
+                }
+
+
+                switch (alt11) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:
+            	    {
+            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt11 >= 1 ) break loop11;
+                        EarlyExitException eee =
+                            new EarlyExitException(11, input);
+                        throw eee;
+                }
+                cnt11++;
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_WS"
+
+    // $ANTLR start "RULE_ANY_OTHER"
+    public final void mRULE_ANY_OTHER() throws RecognitionException {
+        try {
+            int _type = RULE_ANY_OTHER;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13976:16: ( . )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13976:18: .
+            {
+            matchAny(); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ANY_OTHER"
+
+    public void mTokens() throws RecognitionException {
+        // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=96;
+        alt12 = dfa12.predict(input);
+        switch (alt12) {
+            case 1 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:10: T__11
+                {
+                mT__11(); 
+
+                }
+                break;
+            case 2 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:16: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 3 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:22: T__13
+                {
+                mT__13(); 
+
+                }
+                break;
+            case 4 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:28: T__14
+                {
+                mT__14(); 
+
+                }
+                break;
+            case 5 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:34: T__15
+                {
+                mT__15(); 
+
+                }
+                break;
+            case 6 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:40: T__16
+                {
+                mT__16(); 
+
+                }
+                break;
+            case 7 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:46: T__17
+                {
+                mT__17(); 
+
+                }
+                break;
+            case 8 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:52: T__18
+                {
+                mT__18(); 
+
+                }
+                break;
+            case 9 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:58: T__19
+                {
+                mT__19(); 
+
+                }
+                break;
+            case 10 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:64: T__20
+                {
+                mT__20(); 
+
+                }
+                break;
+            case 11 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:70: T__21
+                {
+                mT__21(); 
+
+                }
+                break;
+            case 12 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:76: T__22
+                {
+                mT__22(); 
+
+                }
+                break;
+            case 13 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:82: T__23
+                {
+                mT__23(); 
+
+                }
+                break;
+            case 14 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:88: T__24
+                {
+                mT__24(); 
+
+                }
+                break;
+            case 15 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:94: T__25
+                {
+                mT__25(); 
+
+                }
+                break;
+            case 16 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:100: T__26
+                {
+                mT__26(); 
+
+                }
+                break;
+            case 17 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:106: T__27
+                {
+                mT__27(); 
+
+                }
+                break;
+            case 18 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:112: T__28
+                {
+                mT__28(); 
+
+                }
+                break;
+            case 19 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:118: T__29
+                {
+                mT__29(); 
+
+                }
+                break;
+            case 20 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:124: T__30
+                {
+                mT__30(); 
+
+                }
+                break;
+            case 21 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:130: T__31
+                {
+                mT__31(); 
+
+                }
+                break;
+            case 22 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:136: T__32
+                {
+                mT__32(); 
+
+                }
+                break;
+            case 23 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:142: T__33
+                {
+                mT__33(); 
+
+                }
+                break;
+            case 24 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:148: T__34
+                {
+                mT__34(); 
+
+                }
+                break;
+            case 25 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:154: T__35
+                {
+                mT__35(); 
+
+                }
+                break;
+            case 26 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:160: T__36
+                {
+                mT__36(); 
+
+                }
+                break;
+            case 27 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:166: T__37
+                {
+                mT__37(); 
+
+                }
+                break;
+            case 28 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:172: T__38
+                {
+                mT__38(); 
+
+                }
+                break;
+            case 29 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:178: T__39
+                {
+                mT__39(); 
+
+                }
+                break;
+            case 30 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:184: T__40
+                {
+                mT__40(); 
+
+                }
+                break;
+            case 31 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:190: T__41
+                {
+                mT__41(); 
+
+                }
+                break;
+            case 32 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:196: T__42
+                {
+                mT__42(); 
+
+                }
+                break;
+            case 33 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:202: T__43
+                {
+                mT__43(); 
+
+                }
+                break;
+            case 34 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:208: T__44
+                {
+                mT__44(); 
+
+                }
+                break;
+            case 35 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:214: T__45
+                {
+                mT__45(); 
+
+                }
+                break;
+            case 36 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:220: T__46
+                {
+                mT__46(); 
+
+                }
+                break;
+            case 37 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:226: T__47
+                {
+                mT__47(); 
+
+                }
+                break;
+            case 38 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:232: T__48
+                {
+                mT__48(); 
+
+                }
+                break;
+            case 39 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:238: T__49
+                {
+                mT__49(); 
+
+                }
+                break;
+            case 40 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:244: T__50
+                {
+                mT__50(); 
+
+                }
+                break;
+            case 41 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:250: T__51
+                {
+                mT__51(); 
+
+                }
+                break;
+            case 42 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:256: T__52
+                {
+                mT__52(); 
+
+                }
+                break;
+            case 43 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:262: T__53
+                {
+                mT__53(); 
+
+                }
+                break;
+            case 44 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:268: T__54
+                {
+                mT__54(); 
+
+                }
+                break;
+            case 45 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:274: T__55
+                {
+                mT__55(); 
+
+                }
+                break;
+            case 46 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:280: T__56
+                {
+                mT__56(); 
+
+                }
+                break;
+            case 47 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:286: T__57
+                {
+                mT__57(); 
+
+                }
+                break;
+            case 48 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:292: T__58
+                {
+                mT__58(); 
+
+                }
+                break;
+            case 49 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:298: T__59
+                {
+                mT__59(); 
+
+                }
+                break;
+            case 50 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:304: T__60
+                {
+                mT__60(); 
+
+                }
+                break;
+            case 51 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:310: T__61
+                {
+                mT__61(); 
+
+                }
+                break;
+            case 52 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:316: T__62
+                {
+                mT__62(); 
+
+                }
+                break;
+            case 53 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:322: T__63
+                {
+                mT__63(); 
+
+                }
+                break;
+            case 54 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:328: T__64
+                {
+                mT__64(); 
+
+                }
+                break;
+            case 55 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:334: T__65
+                {
+                mT__65(); 
+
+                }
+                break;
+            case 56 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:340: T__66
+                {
+                mT__66(); 
+
+                }
+                break;
+            case 57 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:346: T__67
+                {
+                mT__67(); 
+
+                }
+                break;
+            case 58 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:352: T__68
+                {
+                mT__68(); 
+
+                }
+                break;
+            case 59 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:358: T__69
+                {
+                mT__69(); 
+
+                }
+                break;
+            case 60 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:364: T__70
+                {
+                mT__70(); 
+
+                }
+                break;
+            case 61 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:370: T__71
+                {
+                mT__71(); 
+
+                }
+                break;
+            case 62 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:376: T__72
+                {
+                mT__72(); 
+
+                }
+                break;
+            case 63 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:382: T__73
+                {
+                mT__73(); 
+
+                }
+                break;
+            case 64 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:388: T__74
+                {
+                mT__74(); 
+
+                }
+                break;
+            case 65 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:394: T__75
+                {
+                mT__75(); 
+
+                }
+                break;
+            case 66 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:400: T__76
+                {
+                mT__76(); 
+
+                }
+                break;
+            case 67 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:406: T__77
+                {
+                mT__77(); 
+
+                }
+                break;
+            case 68 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:412: T__78
+                {
+                mT__78(); 
+
+                }
+                break;
+            case 69 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:418: T__79
+                {
+                mT__79(); 
+
+                }
+                break;
+            case 70 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:424: T__80
+                {
+                mT__80(); 
+
+                }
+                break;
+            case 71 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:430: T__81
+                {
+                mT__81(); 
+
+                }
+                break;
+            case 72 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:436: T__82
+                {
+                mT__82(); 
+
+                }
+                break;
+            case 73 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:442: T__83
+                {
+                mT__83(); 
+
+                }
+                break;
+            case 74 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:448: T__84
+                {
+                mT__84(); 
+
+                }
+                break;
+            case 75 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:454: T__85
+                {
+                mT__85(); 
+
+                }
+                break;
+            case 76 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:460: T__86
+                {
+                mT__86(); 
+
+                }
+                break;
+            case 77 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:466: T__87
+                {
+                mT__87(); 
+
+                }
+                break;
+            case 78 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:472: T__88
+                {
+                mT__88(); 
+
+                }
+                break;
+            case 79 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:478: T__89
+                {
+                mT__89(); 
+
+                }
+                break;
+            case 80 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:484: T__90
+                {
+                mT__90(); 
+
+                }
+                break;
+            case 81 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:490: T__91
+                {
+                mT__91(); 
+
+                }
+                break;
+            case 82 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:496: T__92
+                {
+                mT__92(); 
+
+                }
+                break;
+            case 83 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:502: T__93
+                {
+                mT__93(); 
+
+                }
+                break;
+            case 84 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:508: T__94
+                {
+                mT__94(); 
+
+                }
+                break;
+            case 85 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:514: T__95
+                {
+                mT__95(); 
+
+                }
+                break;
+            case 86 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:520: T__96
+                {
+                mT__96(); 
+
+                }
+                break;
+            case 87 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:526: T__97
+                {
+                mT__97(); 
+
+                }
+                break;
+            case 88 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:532: T__98
+                {
+                mT__98(); 
+
+                }
+                break;
+            case 89 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:538: T__99
+                {
+                mT__99(); 
+
+                }
+                break;
+            case 90 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:544: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 91 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:552: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 92 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:561: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 93 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:573: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 94 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:589: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 95 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:605: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 96 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1:613: RULE_ANY_OTHER
+                {
+                mRULE_ANY_OTHER(); 
+
+                }
+                break;
+
+        }
+
+    }
+
+
+    protected DFA12 dfa12 = new DFA12(this);
+    static final String DFA12_eotS =
+        "\1\uffff\2\60\1\64\1\65\1\uffff\2\60\1\uffff\3\60\1\uffff\3\60\2"+
+        "\uffff\17\60\2\uffff\3\60\1\55\2\uffff\3\55\2\uffff\2\60\1\uffff"+
+        "\3\60\3\uffff\4\60\1\uffff\6\60\1\uffff\5\60\2\uffff\32\60\2\uffff"+
+        "\3\60\5\uffff\76\60\1\u00e6\2\60\1\u00e9\6\60\1\u00f0\37\60\1\u0110"+
+        "\15\60\1\u011e\1\u011f\1\uffff\2\60\1\uffff\3\60\1\u0125\2\60\1"+
+        "\uffff\22\60\1\u013c\14\60\1\uffff\13\60\1\u0157\1\60\2\uffff\5"+
+        "\60\1\uffff\4\60\1\u0163\15\60\1\u0173\3\60\1\uffff\32\60\1\uffff"+
+        "\1\60\1\u0193\1\60\1\u0195\7\60\1\uffff\17\60\1\uffff\14\60\1\u01b8"+
+        "\1\60\1\u01ba\20\60\1\uffff\1\60\1\uffff\15\60\1\u01d9\1\60\1\u01db"+
+        "\12\60\1\u01e6\7\60\1\uffff\1\60\1\uffff\5\60\1\u01f5\1\u01f7\15"+
+        "\60\1\u0206\6\60\1\u020e\1\u020f\1\60\1\uffff\1\60\1\uffff\6\60"+
+        "\1\u0218\3\60\1\uffff\2\60\1\u021e\4\60\1\u0225\6\60\1\uffff\1\60"+
+        "\1\uffff\15\60\1\u023e\1\uffff\1\60\1\u0240\4\60\1\u0245\2\uffff"+
+        "\3\60\1\u0249\4\60\1\uffff\5\60\1\uffff\3\60\1\u0256\2\60\1\uffff"+
+        "\7\60\1\u0260\4\60\1\u0265\1\u0266\12\60\1\uffff\1\60\1\uffff\1"+
+        "\u0273\1\60\1\u0275\1\u0276\1\uffff\2\60\1\u0279\1\uffff\7\60\1"+
+        "\u0281\1\60\1\u0283\2\60\1\uffff\6\60\1\u028c\2\60\1\uffff\4\60"+
+        "\2\uffff\14\60\1\uffff\1\60\2\uffff\2\60\1\uffff\7\60\1\uffff\1"+
+        "\60\1\uffff\5\60\1\u02af\2\60\1\uffff\26\60\1\u02c8\2\60\1\u02cb"+
+        "\2\60\1\u02ce\1\u02cf\3\60\1\u02d3\1\uffff\13\60\1\u02df\7\60\1"+
+        "\u02e7\4\60\1\uffff\2\60\1\uffff\2\60\2\uffff\3\60\1\uffff\4\60"+
+        "\1\u02f7\1\u02f8\1\u02f9\1\60\1\u02fb\2\60\1\uffff\1\60\1\u02ff"+
+        "\4\60\1\u0304\1\uffff\1\u0305\4\60\1\u030a\1\u030b\10\60\3\uffff"+
+        "\1\60\1\uffff\3\60\1\uffff\1\60\1\u0319\2\60\2\uffff\4\60\2\uffff"+
+        "\12\60\1\u032a\2\60\1\uffff\5\60\1\u0333\1\60\1\u0335\6\60\1\u033c"+
+        "\1\60\1\uffff\1\60\1\u033f\3\60\1\u0343\2\60\1\uffff\1\60\1\uffff"+
+        "\4\60\1\u034b\1\u034c\1\uffff\1\u034d\1\60\1\uffff\3\60\1\uffff"+
+        "\1\u0353\2\60\1\u0356\3\60\3\uffff\5\60\1\uffff\1\60\1\u0360\1\uffff"+
+        "\1\u0361\10\60\2\uffff\16\60\1\u0378\5\60\1\u037e\1\60\1\uffff\3"+
+        "\60\1\u0383\1\u0384\1\uffff\4\60\2\uffff\10\60\1\u0391\3\60\1\uffff"+
+        "\2\60\1\u0397\2\60\1\uffff\1\u039a\1\u039b\2\uffff";
+    static final String DFA12_eofS =
+        "\u039c\uffff";
+    static final String DFA12_minS =
+        "\1\0\1\143\1\145\2\60\1\uffff\2\141\1\uffff\1\143\1\160\1\157\1"+
+        "\uffff\2\141\1\155\2\uffff\1\142\3\145\2\141\1\142\1\145\1\155\3"+
+        "\157\1\162\1\145\1\141\2\uffff\1\145\1\163\1\141\1\101\2\uffff\2"+
+        "\0\1\52\2\uffff\1\141\1\164\1\uffff\1\154\1\141\1\145\3\uffff\1"+
+        "\155\1\143\1\151\1\160\1\uffff\1\164\1\141\1\145\1\143\1\145\1\141"+
+        "\1\uffff\1\162\1\145\1\143\2\160\2\uffff\1\164\1\152\1\154\1\146"+
+        "\1\141\1\164\1\145\1\151\1\162\1\157\1\154\1\145\1\154\1\152\1\146"+
+        "\1\160\1\157\1\156\1\162\1\144\1\141\1\144\1\164\1\156\1\170\1\141"+
+        "\2\uffff\1\151\1\145\1\163\5\uffff\1\160\1\151\1\141\1\164\1\156"+
+        "\1\145\1\164\1\147\1\145\1\151\1\160\1\141\1\160\2\143\1\154\1\141"+
+        "\1\144\1\164\1\154\1\165\1\160\1\145\1\123\1\145\2\141\1\162\1\160"+
+        "\1\117\1\143\1\147\1\141\1\160\1\165\1\151\1\162\1\103\1\145\1\143"+
+        "\1\141\1\157\1\160\1\156\1\144\1\162\1\171\1\156\1\145\1\162\2\126"+
+        "\1\162\1\163\1\147\1\144\2\164\1\157\1\164\1\145\1\164\1\60\1\151"+
+        "\1\147\1\60\1\157\2\164\1\163\1\145\1\151\1\60\1\155\1\145\1\151"+
+        "\1\145\1\164\1\165\1\143\1\164\1\162\3\164\1\101\1\146\1\151\1\150"+
+        "\1\155\2\145\2\141\1\157\1\143\1\162\1\165\1\162\1\101\1\164\1\151"+
+        "\2\145\1\60\1\143\1\154\1\151\2\141\1\151\1\165\1\150\1\124\1\111"+
+        "\1\141\1\156\1\151\2\60\1\uffff\1\143\1\145\1\uffff\1\156\1\141"+
+        "\1\145\1\60\1\163\1\146\1\uffff\1\145\2\143\1\155\1\120\2\164\2"+
+        "\162\1\151\1\145\1\101\1\143\1\103\1\146\1\164\1\145\1\162\1\60"+
+        "\1\156\1\154\1\156\1\164\1\151\1\154\1\164\1\143\1\145\1\164\1\170"+
+        "\1\156\1\uffff\1\150\1\105\1\143\2\154\1\143\1\162\1\164\1\141\1"+
+        "\155\1\164\1\60\1\157\2\uffff\1\163\1\162\1\163\1\142\1\147\1\uffff"+
+        "\1\163\1\151\1\164\1\145\1\60\1\145\1\141\1\120\2\151\1\145\1\124"+
+        "\1\157\1\147\1\143\1\164\1\157\1\151\1\60\2\164\1\157\1\uffff\1"+
+        "\151\1\164\1\154\1\163\1\151\1\160\1\164\1\104\1\164\1\162\1\151"+
+        "\2\164\1\101\1\141\1\156\1\126\2\165\1\124\2\145\1\143\1\160\1\151"+
+        "\1\145\1\uffff\1\156\1\60\1\151\1\60\1\151\1\154\1\151\1\157\1\143"+
+        "\1\145\1\163\1\uffff\1\156\1\162\1\141\1\166\1\156\1\144\1\157\1"+
+        "\156\1\171\1\164\1\151\1\156\1\143\1\156\1\144\1\uffff\1\145\1\171"+
+        "\1\156\1\157\1\163\1\107\1\164\1\166\1\164\1\127\1\145\1\151\1\60"+
+        "\1\157\1\60\1\127\1\143\1\162\1\164\1\141\2\145\1\171\2\144\1\156"+
+        "\1\164\1\141\1\157\1\146\1\141\1\uffff\1\156\1\uffff\1\157\2\145"+
+        "\1\162\1\141\1\162\1\163\1\164\1\141\1\162\1\145\1\147\1\101\1\60"+
+        "\1\141\1\60\1\151\1\157\1\146\1\141\1\147\1\115\1\162\1\122\1\163"+
+        "\1\156\1\60\1\157\1\162\1\145\1\151\1\145\1\143\1\157\1\uffff\1"+
+        "\156\1\uffff\1\145\1\164\2\151\1\154\2\60\1\160\1\105\1\115\1\147"+
+        "\1\151\1\143\1\156\1\145\1\154\1\147\1\156\1\105\1\163\1\60\1\164"+
+        "\1\163\1\157\1\145\1\155\1\141\2\60\1\144\1\uffff\1\154\1\uffff"+
+        "\1\157\1\156\1\151\1\164\1\106\1\145\1\60\1\141\1\164\1\120\1\uffff"+
+        "\2\141\1\60\1\157\1\151\1\154\1\156\1\60\2\151\1\141\1\164\1\165"+
+        "\1\157\1\uffff\1\157\1\uffff\1\145\1\156\1\141\1\145\1\106\1\143"+
+        "\1\164\1\101\1\162\1\117\1\105\1\101\1\156\1\60\1\uffff\1\151\1"+
+        "\60\1\162\1\144\1\163\1\155\1\60\2\uffff\1\141\1\117\1\156\1\60"+
+        "\1\147\1\151\1\165\1\164\1\uffff\1\156\1\162\1\157\1\154\1\151\1"+
+        "\uffff\1\156\1\147\1\141\1\60\1\162\1\141\1\uffff\1\147\1\157\1"+
+        "\142\1\171\1\145\2\156\1\60\1\164\1\143\1\164\1\165\2\60\1\143\1"+
+        "\151\1\154\1\143\1\145\1\160\1\166\1\143\1\160\1\164\1\uffff\1\157"+
+        "\1\uffff\1\60\1\120\2\60\1\uffff\2\160\1\60\1\uffff\1\165\1\157"+
+        "\1\156\1\162\1\147\1\141\1\163\1\60\1\156\1\60\1\150\1\162\1\uffff"+
+        "\1\165\1\154\1\150\1\156\1\154\1\103\1\60\2\163\1\uffff\1\151\1"+
+        "\164\1\162\1\156\2\uffff\1\157\1\162\1\157\1\141\1\164\1\156\2\145"+
+        "\1\164\1\145\1\151\1\156\1\uffff\1\154\2\uffff\1\164\1\145\1\uffff"+
+        "\1\162\1\156\1\143\1\151\1\145\1\151\1\163\1\uffff\1\164\1\uffff"+
+        "\1\164\1\141\1\145\1\163\1\164\1\60\1\145\1\157\1\uffff\3\164\2"+
+        "\151\1\143\1\160\1\145\1\143\1\156\1\151\1\143\1\162\1\156\1\151"+
+        "\1\162\1\164\1\163\2\141\1\162\1\141\1\60\1\164\1\143\1\60\1\156"+
+        "\1\151\2\60\1\164\1\102\1\145\1\60\1\uffff\1\103\1\156\2\162\1\171"+
+        "\2\143\1\164\1\145\1\143\1\145\1\60\1\157\1\145\1\141\1\164\1\157"+
+        "\1\141\1\171\1\60\1\156\1\164\1\141\1\164\1\uffff\1\151\1\163\1"+
+        "\uffff\1\164\1\142\2\uffff\1\151\1\162\1\102\1\uffff\1\157\1\146"+
+        "\2\141\3\60\1\151\1\60\1\164\1\163\1\uffff\1\156\1\60\1\164\1\163"+
+        "\1\156\1\164\1\60\1\uffff\1\60\1\151\1\164\1\151\1\157\2\60\1\151"+
+        "\1\157\1\141\1\162\1\156\3\151\3\uffff\1\157\1\uffff\1\151\1\163"+
+        "\1\117\1\uffff\1\157\1\60\1\117\1\151\2\uffff\3\157\1\156\2\uffff"+
+        "\1\154\2\156\1\141\1\146\1\147\3\156\1\157\1\60\1\160\1\162\1\uffff"+
+        "\1\160\1\157\1\156\1\162\1\156\1\60\1\151\1\60\1\143\1\156\1\151"+
+        "\1\165\2\164\1\60\1\156\1\uffff\1\145\1\60\1\145\1\156\1\120\1\60"+
+        "\1\163\1\155\1\uffff\1\164\1\uffff\1\150\1\143\1\147\1\162\2\60"+
+        "\1\uffff\1\60\1\162\1\uffff\1\162\1\104\1\157\1\uffff\1\60\1\160"+
+        "\1\171\1\60\1\150\1\165\1\141\3\uffff\2\141\1\143\2\151\1\uffff"+
+        "\1\154\1\60\1\uffff\1\60\1\162\3\164\1\157\1\162\1\156\1\145\2\uffff"+
+        "\1\141\3\151\1\160\1\145\1\164\1\155\1\164\3\157\1\145\1\143\1\60"+
+        "\1\145\1\151\3\156\1\60\1\164\1\uffff\1\156\1\157\1\122\2\60\1\uffff"+
+        "\1\151\1\164\1\156\1\141\2\uffff\1\157\1\141\1\122\2\156\1\164\1"+
+        "\141\1\147\1\60\1\151\1\156\1\145\1\uffff\1\157\1\147\1\60\1\156"+
+        "\1\145\1\uffff\2\60\2\uffff";
+    static final String DFA12_maxS =
+        "\1\uffff\1\144\1\145\2\172\1\uffff\1\141\1\171\1\uffff\1\144\1\165"+
+        "\1\157\1\uffff\1\162\1\141\1\156\2\uffff\1\165\1\145\1\164\1\145"+
+        "\1\162\1\141\1\166\1\145\1\155\1\157\1\165\1\157\1\162\1\157\1\151"+
+        "\2\uffff\1\145\1\163\1\141\1\172\2\uffff\2\uffff\1\57\2\uffff\1"+
+        "\141\1\164\1\uffff\1\154\1\141\1\145\3\uffff\1\155\1\143\1\151\1"+
+        "\160\1\uffff\1\164\1\141\1\162\1\143\1\145\1\141\1\uffff\1\162\1"+
+        "\145\1\143\2\160\2\uffff\1\164\1\152\2\154\1\162\1\164\1\145\1\151"+
+        "\1\162\1\157\1\162\1\145\1\154\1\152\1\163\1\160\1\157\1\165\1\162"+
+        "\1\144\1\141\1\144\1\164\1\156\1\170\1\164\2\uffff\1\151\1\145\1"+
+        "\163\5\uffff\1\160\1\151\1\141\1\164\1\156\1\145\1\164\1\147\1\145"+
+        "\1\151\1\160\1\141\1\160\2\143\1\154\1\141\1\144\1\164\1\154\1\165"+
+        "\1\160\1\145\1\123\1\145\2\141\1\162\1\160\1\117\1\143\1\147\1\141"+
+        "\1\160\1\165\1\151\1\162\1\103\1\145\1\143\1\141\1\157\1\160\1\156"+
+        "\1\164\1\162\1\171\1\156\1\145\1\162\2\126\1\162\1\163\1\147\1\144"+
+        "\2\164\1\157\1\164\1\145\1\164\1\172\1\151\1\147\1\172\1\157\2\164"+
+        "\1\163\1\145\1\151\1\172\1\155\1\145\1\151\1\145\1\164\1\165\1\143"+
+        "\1\164\1\162\3\164\1\101\1\146\1\151\1\150\1\155\2\145\2\141\1\157"+
+        "\1\143\1\162\1\165\1\162\1\101\1\164\1\151\2\145\1\172\1\143\1\154"+
+        "\1\151\2\141\1\151\1\165\1\150\1\124\1\111\1\141\1\156\1\151\2\172"+
+        "\1\uffff\1\143\1\145\1\uffff\1\156\1\141\1\145\1\172\1\163\1\146"+
+        "\1\uffff\1\145\2\143\1\155\1\120\2\164\1\162\1\163\1\151\1\145\1"+
+        "\101\1\143\1\103\1\146\1\164\1\145\1\162\1\172\1\164\1\154\1\156"+
+        "\1\164\1\151\1\154\1\164\1\143\1\145\1\164\1\170\1\156\1\uffff\1"+
+        "\150\1\126\1\143\2\154\1\143\1\162\1\164\1\141\1\155\1\164\1\172"+
+        "\1\157\2\uffff\1\163\1\162\1\163\1\164\1\147\1\uffff\1\163\1\151"+
+        "\1\164\1\145\1\172\1\145\1\141\1\120\2\151\1\145\1\124\1\157\1\147"+
+        "\1\143\1\164\1\157\1\151\1\172\2\164\1\157\1\uffff\1\151\1\164\1"+
+        "\154\1\163\1\151\1\160\1\164\1\104\1\164\1\162\1\151\2\164\1\101"+
+        "\1\141\1\156\1\126\2\165\1\124\1\145\1\151\1\143\1\160\1\151\1\145"+
+        "\1\uffff\1\156\1\172\1\151\1\172\1\151\1\154\1\151\1\157\1\143\1"+
+        "\145\1\163\1\uffff\1\156\1\162\1\141\1\166\1\156\1\144\1\157\1\156"+
+        "\1\171\1\164\1\151\1\156\1\143\1\156\1\144\1\uffff\1\145\1\171\1"+
+        "\156\1\157\1\163\1\107\1\164\1\166\1\164\1\127\1\145\1\151\1\172"+
+        "\1\157\1\172\1\127\1\143\1\162\1\164\1\141\2\145\1\171\2\144\1\156"+
+        "\1\164\1\141\1\157\1\146\1\141\1\uffff\1\156\1\uffff\1\157\2\145"+
+        "\1\162\1\141\1\162\1\163\1\164\1\141\1\162\1\145\1\147\1\101\1\172"+
+        "\1\141\1\172\1\151\1\157\1\146\1\141\1\147\1\115\1\162\1\122\1\163"+
+        "\1\156\1\172\1\157\1\162\1\145\1\151\1\145\1\143\1\157\1\uffff\1"+
+        "\156\1\uffff\1\145\1\164\2\151\1\154\2\172\1\160\1\105\1\124\1\147"+
+        "\1\151\1\143\1\156\1\145\1\154\1\147\1\156\1\105\1\163\1\172\1\164"+
+        "\1\163\1\157\1\145\1\155\1\141\2\172\1\144\1\uffff\1\154\1\uffff"+
+        "\1\157\1\156\1\151\1\164\1\106\1\145\1\172\1\141\1\164\1\120\1\uffff"+
+        "\2\141\1\172\1\157\1\151\1\154\1\156\1\172\2\151\1\141\1\164\1\165"+
+        "\1\157\1\uffff\1\157\1\uffff\1\145\1\156\1\141\1\145\1\106\1\143"+
+        "\1\164\1\123\1\162\1\117\1\105\1\117\1\156\1\172\1\uffff\1\151\1"+
+        "\172\1\162\1\144\1\163\1\155\1\172\2\uffff\1\141\1\117\1\156\1\172"+
+        "\1\147\1\151\1\165\1\164\1\uffff\1\156\1\162\1\157\1\154\1\151\1"+
+        "\uffff\1\156\1\147\1\141\1\172\1\162\1\141\1\uffff\1\147\1\157\1"+
+        "\142\1\171\1\145\2\156\1\172\1\164\1\143\1\164\1\165\2\172\1\143"+
+        "\1\151\1\162\1\143\1\145\1\160\1\166\1\143\1\160\1\164\1\uffff\1"+
+        "\157\1\uffff\1\172\1\120\2\172\1\uffff\2\160\1\172\1\uffff\1\165"+
+        "\1\157\1\156\1\162\1\147\1\141\1\163\1\172\1\156\1\172\1\150\1\162"+
+        "\1\uffff\1\165\1\154\1\150\1\156\1\154\1\103\1\172\2\163\1\uffff"+
+        "\1\151\1\164\1\162\1\156\2\uffff\1\157\1\162\1\157\1\141\1\164\1"+
+        "\156\2\145\1\164\1\145\1\151\1\156\1\uffff\1\154\2\uffff\1\164\1"+
+        "\145\1\uffff\1\162\1\156\1\143\1\151\1\145\1\151\1\163\1\uffff\1"+
+        "\164\1\uffff\1\164\1\141\1\145\1\163\1\164\1\172\1\145\1\157\1\uffff"+
+        "\3\164\2\151\1\143\1\160\1\145\1\143\1\156\1\151\1\143\1\162\1\156"+
+        "\1\151\1\162\1\164\1\163\2\141\1\162\1\141\1\172\1\164\1\143\1\172"+
+        "\1\156\1\151\2\172\1\164\1\102\1\145\1\172\1\uffff\1\103\1\156\2"+
+        "\162\1\171\2\143\1\164\1\145\1\143\1\145\1\172\1\157\1\145\1\141"+
+        "\1\164\1\157\1\141\1\171\1\172\1\156\1\164\1\141\1\164\1\uffff\1"+
+        "\151\1\163\1\uffff\1\164\1\142\2\uffff\1\151\1\162\1\102\1\uffff"+
+        "\1\157\1\146\2\141\3\172\1\151\1\172\1\164\1\163\1\uffff\1\156\1"+
+        "\172\1\164\1\163\1\156\1\164\1\172\1\uffff\1\172\1\151\1\164\1\151"+
+        "\1\157\2\172\1\151\1\157\1\141\1\162\1\156\3\151\3\uffff\1\157\1"+
+        "\uffff\1\151\1\163\1\117\1\uffff\1\157\1\172\1\117\1\151\2\uffff"+
+        "\3\157\1\156\2\uffff\1\154\2\156\1\141\1\146\1\147\3\156\1\157\1"+
+        "\172\1\160\1\162\1\uffff\1\160\1\157\1\156\1\162\1\156\1\172\1\151"+
+        "\1\172\1\143\1\156\1\151\1\165\2\164\1\172\1\156\1\uffff\1\145\1"+
+        "\172\1\145\1\156\1\120\1\172\1\163\1\155\1\uffff\1\164\1\uffff\1"+
+        "\150\1\143\1\147\1\162\2\172\1\uffff\1\172\1\162\1\uffff\1\162\1"+
+        "\123\1\157\1\uffff\1\172\1\160\1\171\1\172\1\150\1\165\1\141\3\uffff"+
+        "\2\141\1\143\2\151\1\uffff\1\154\1\172\1\uffff\1\172\1\162\3\164"+
+        "\1\157\1\162\1\156\1\145\2\uffff\1\141\3\151\1\160\1\145\1\164\1"+
+        "\155\1\164\3\157\1\145\1\143\1\172\1\145\1\151\3\156\1\172\1\164"+
+        "\1\uffff\1\156\1\157\1\122\2\172\1\uffff\1\151\1\164\1\156\1\141"+
+        "\2\uffff\1\157\1\141\1\122\2\156\1\164\1\141\1\147\1\172\1\151\1"+
+        "\156\1\145\1\uffff\1\157\1\147\1\172\1\156\1\145\1\uffff\2\172\2"+
+        "\uffff";
+    static final String DFA12_acceptS =
+        "\5\uffff\1\10\2\uffff\1\13\3\uffff\1\17\3\uffff\1\24\1\25\17\uffff"+
+        "\1\76\1\77\4\uffff\1\132\1\133\3\uffff\1\137\1\140\2\uffff\1\132"+
+        "\3\uffff\1\5\1\6\1\10\4\uffff\1\13\6\uffff\1\17\5\uffff\1\24\1\25"+
+        "\32\uffff\1\76\1\77\3\uffff\1\133\1\134\1\135\1\136\1\137\170\uffff"+
+        "\1\11\2\uffff\1\37\6\uffff\1\16\37\uffff\1\55\15\uffff\1\4\1\112"+
+        "\5\uffff\1\46\26\uffff\1\40\32\uffff\1\27\13\uffff\1\21\17\uffff"+
+        "\1\131\37\uffff\1\12\1\uffff\1\14\42\uffff\1\54\1\uffff\1\62\36"+
+        "\uffff\1\64\1\uffff\1\32\12\uffff\1\105\16\uffff\1\71\1\uffff\1"+
+        "\72\16\uffff\1\51\7\uffff\1\33\1\107\10\uffff\1\36\5\uffff\1\110"+
+        "\6\uffff\1\61\30\uffff\1\15\1\uffff\1\20\4\uffff\1\43\3\uffff\1"+
+        "\52\14\uffff\1\53\11\uffff\1\125\4\uffff\1\116\1\117\14\uffff\1"+
+        "\50\1\uffff\1\23\1\26\2\uffff\1\47\7\uffff\1\41\1\uffff\1\42\10"+
+        "\uffff\1\126\42\uffff\1\56\30\uffff\1\123\2\uffff\1\100\2\uffff"+
+        "\1\106\1\115\3\uffff\1\114\13\uffff\1\45\7\uffff\1\111\17\uffff"+
+        "\1\127\1\113\1\130\1\uffff\1\1\3\uffff\1\63\4\uffff\1\73\1\22\4"+
+        "\uffff\1\122\1\104\15\uffff\1\34\20\uffff\1\7\10\uffff\1\35\1\uffff"+
+        "\1\44\6\uffff\1\120\2\uffff\1\3\3\uffff\1\124\7\uffff\1\101\1\102"+
+        "\1\2\5\uffff\1\103\2\uffff\1\57\11\uffff\1\75\1\60\26\uffff\1\30"+
+        "\5\uffff\1\66\4\uffff\1\65\1\31\14\uffff\1\67\5\uffff\1\74\2\uffff"+
+        "\1\121\1\70";
+    static final String DFA12_specialS =
+        "\1\0\50\uffff\1\2\1\1\u0371\uffff}>";
+    static final String[] DFA12_transitionS = {
+            "\11\55\2\54\2\55\1\54\22\55\1\54\1\55\1\51\4\55\1\52\1\20\1"+
+            "\21\2\55\1\14\1\41\1\42\1\53\12\50\7\55\1\1\1\36\2\47\1\3\3"+
+            "\47\1\32\2\47\1\33\1\37\1\47\1\30\1\26\1\47\1\2\1\24\1\16\2"+
+            "\47\1\43\3\47\3\55\1\46\1\47\1\55\1\11\1\35\1\34\1\31\1\4\1"+
+            "\47\1\13\1\47\1\17\2\47\1\45\1\40\1\6\1\22\1\15\1\47\1\23\1"+
+            "\12\1\7\1\44\1\27\1\25\3\47\1\5\1\55\1\10\uff82\55",
+            "\1\57\1\56",
+            "\1\61",
+            "\12\60\7\uffff\3\60\1\62\26\60\4\uffff\1\60\1\uffff\25\60\1"+
+            "\63\4\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\67",
+            "\1\70\20\uffff\1\71\6\uffff\1\72",
+            "",
+            "\1\74\1\75",
+            "\1\100\3\uffff\1\76\1\77",
+            "\1\101",
+            "",
+            "\1\103\20\uffff\1\104",
+            "\1\105",
+            "\1\106\1\107",
+            "",
+            "",
+            "\1\113\1\114\21\uffff\1\112",
+            "\1\115",
+            "\1\117\12\uffff\1\120\3\uffff\1\116",
+            "\1\121",
+            "\1\122\20\uffff\1\123",
+            "\1\124",
+            "\1\127\1\126\22\uffff\1\125",
+            "\1\130",
+            "\1\131",
+            "\1\132",
+            "\1\133\5\uffff\1\134",
+            "\1\135",
+            "\1\136",
+            "\1\140\11\uffff\1\137",
+            "\1\142\3\uffff\1\143\3\uffff\1\141",
+            "",
+            "",
+            "\1\146",
+            "\1\147",
+            "\1\150",
+            "\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "",
+            "\0\152",
+            "\0\152",
+            "\1\153\4\uffff\1\154",
+            "",
+            "",
+            "\1\156",
+            "\1\157",
+            "",
+            "\1\160",
+            "\1\161",
+            "\1\162",
+            "",
+            "",
+            "",
+            "\1\163",
+            "\1\164",
+            "\1\165",
+            "\1\166",
+            "",
+            "\1\167",
+            "\1\170",
+            "\1\172\14\uffff\1\171",
+            "\1\173",
+            "\1\174",
+            "\1\175",
+            "",
+            "\1\176",
+            "\1\177",
+            "\1\u0080",
+            "\1\u0081",
+            "\1\u0082",
+            "",
+            "",
+            "\1\u0083",
+            "\1\u0084",
+            "\1\u0085",
+            "\1\u0086\5\uffff\1\u0087",
+            "\1\u0089\15\uffff\1\u008a\2\uffff\1\u0088",
+            "\1\u008b",
+            "\1\u008c",
+            "\1\u008d",
+            "\1\u008e",
+            "\1\u008f",
+            "\1\u0090\5\uffff\1\u0091",
+            "\1\u0092",
+            "\1\u0093",
+            "\1\u0094",
+            "\1\u0096\14\uffff\1\u0095",
+            "\1\u0097",
+            "\1\u0098",
+            "\1\u009a\6\uffff\1\u0099",
+            "\1\u009b",
+            "\1\u009c",
+            "\1\u009d",
+            "\1\u009e",
+            "\1\u009f",
+            "\1\u00a0",
+            "\1\u00a1",
+            "\1\u00a3\22\uffff\1\u00a2",
+            "",
+            "",
+            "\1\u00a4",
+            "\1\u00a5",
+            "\1\u00a6",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a7",
+            "\1\u00a8",
+            "\1\u00a9",
+            "\1\u00aa",
+            "\1\u00ab",
+            "\1\u00ac",
+            "\1\u00ad",
+            "\1\u00ae",
+            "\1\u00af",
+            "\1\u00b0",
+            "\1\u00b1",
+            "\1\u00b2",
+            "\1\u00b3",
+            "\1\u00b4",
+            "\1\u00b5",
+            "\1\u00b6",
+            "\1\u00b7",
+            "\1\u00b8",
+            "\1\u00b9",
+            "\1\u00ba",
+            "\1\u00bb",
+            "\1\u00bc",
+            "\1\u00bd",
+            "\1\u00be",
+            "\1\u00bf",
+            "\1\u00c0",
+            "\1\u00c1",
+            "\1\u00c2",
+            "\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c5",
+            "\1\u00c6",
+            "\1\u00c7",
+            "\1\u00c8",
+            "\1\u00c9",
+            "\1\u00ca",
+            "\1\u00cb",
+            "\1\u00cc",
+            "\1\u00cd",
+            "\1\u00ce",
+            "\1\u00cf",
+            "\1\u00d0",
+            "\1\u00d1",
+            "\1\u00d2",
+            "\1\u00d3\17\uffff\1\u00d4",
+            "\1\u00d5",
+            "\1\u00d6",
+            "\1\u00d7",
+            "\1\u00d8",
+            "\1\u00d9",
+            "\1\u00da",
+            "\1\u00db",
+            "\1\u00dc",
+            "\1\u00dd",
+            "\1\u00de",
+            "\1\u00df",
+            "\1\u00e0",
+            "\1\u00e1",
+            "\1\u00e2",
+            "\1\u00e3",
+            "\1\u00e4",
+            "\1\u00e5",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u00e7",
+            "\1\u00e8",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u00ea",
+            "\1\u00eb",
+            "\1\u00ec",
+            "\1\u00ed",
+            "\1\u00ee",
+            "\1\u00ef",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u00f1",
+            "\1\u00f2",
+            "\1\u00f3",
+            "\1\u00f4",
+            "\1\u00f5",
+            "\1\u00f6",
+            "\1\u00f7",
+            "\1\u00f8",
+            "\1\u00f9",
+            "\1\u00fa",
+            "\1\u00fb",
+            "\1\u00fc",
+            "\1\u00fd",
+            "\1\u00fe",
+            "\1\u00ff",
+            "\1\u0100",
+            "\1\u0101",
+            "\1\u0102",
+            "\1\u0103",
+            "\1\u0104",
+            "\1\u0105",
+            "\1\u0106",
+            "\1\u0107",
+            "\1\u0108",
+            "\1\u0109",
+            "\1\u010a",
+            "\1\u010b",
+            "\1\u010c",
+            "\1\u010d",
+            "\1\u010e",
+            "\1\u010f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0113",
+            "\1\u0114",
+            "\1\u0115",
+            "\1\u0116",
+            "\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
+            "\1\u011a",
+            "\1\u011b",
+            "\1\u011c",
+            "\1\u011d",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u0120",
+            "\1\u0121",
+            "",
+            "\1\u0122",
+            "\1\u0123",
+            "\1\u0124",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0126",
+            "\1\u0127",
+            "",
+            "\1\u0128",
+            "\1\u0129",
+            "\1\u012a",
+            "\1\u012b",
+            "\1\u012c",
+            "\1\u012d",
+            "\1\u012e",
+            "\1\u012f",
+            "\1\u0130\1\u0131",
+            "\1\u0132",
+            "\1\u0133",
+            "\1\u0134",
+            "\1\u0135",
+            "\1\u0136",
+            "\1\u0137",
+            "\1\u0138",
+            "\1\u0139",
+            "\1\u013a",
+            "\12\60\7\uffff\2\60\1\u013b\27\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u013e\5\uffff\1\u013d",
+            "\1\u013f",
+            "\1\u0140",
+            "\1\u0141",
+            "\1\u0142",
+            "\1\u0143",
+            "\1\u0144",
+            "\1\u0145",
+            "\1\u0146",
+            "\1\u0147",
+            "\1\u0148",
+            "\1\u0149",
+            "",
+            "\1\u014a",
+            "\1\u014c\20\uffff\1\u014b",
+            "\1\u014d",
+            "\1\u014e",
+            "\1\u014f",
+            "\1\u0150",
+            "\1\u0151",
+            "\1\u0152",
+            "\1\u0153",
+            "\1\u0154",
+            "\1\u0155",
+            "\12\60\7\uffff\21\60\1\u0156\10\60\4\uffff\1\60\1\uffff\32"+
+            "\60",
+            "\1\u0158",
+            "",
+            "",
+            "\1\u0159",
+            "\1\u015a",
+            "\1\u015b",
+            "\1\u015d\21\uffff\1\u015c",
+            "\1\u015e",
+            "",
+            "\1\u015f",
+            "\1\u0160",
+            "\1\u0161",
+            "\1\u0162",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0164",
+            "\1\u0165",
+            "\1\u0166",
+            "\1\u0167",
+            "\1\u0168",
+            "\1\u0169",
+            "\1\u016a",
+            "\1\u016b",
+            "\1\u016c",
+            "\1\u016d",
+            "\1\u016e",
+            "\1\u016f",
+            "\1\u0170",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0172\3\60"+
+            "\1\u0171\21\60",
+            "\1\u0174",
+            "\1\u0175",
+            "\1\u0176",
+            "",
+            "\1\u0177",
+            "\1\u0178",
+            "\1\u0179",
+            "\1\u017a",
+            "\1\u017b",
+            "\1\u017c",
+            "\1\u017d",
+            "\1\u017e",
+            "\1\u017f",
+            "\1\u0180",
+            "\1\u0181",
+            "\1\u0182",
+            "\1\u0183",
+            "\1\u0184",
+            "\1\u0185",
+            "\1\u0186",
+            "\1\u0187",
+            "\1\u0188",
+            "\1\u0189",
+            "\1\u018a",
+            "\1\u018b",
+            "\1\u018c\3\uffff\1\u018d",
+            "\1\u018e",
+            "\1\u018f",
+            "\1\u0190",
+            "\1\u0191",
+            "",
+            "\1\u0192",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0194",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0196",
+            "\1\u0197",
+            "\1\u0198",
+            "\1\u0199",
+            "\1\u019a",
+            "\1\u019b",
+            "\1\u019c",
+            "",
+            "\1\u019d",
+            "\1\u019e",
+            "\1\u019f",
+            "\1\u01a0",
+            "\1\u01a1",
+            "\1\u01a2",
+            "\1\u01a3",
+            "\1\u01a4",
+            "\1\u01a5",
+            "\1\u01a6",
+            "\1\u01a7",
+            "\1\u01a8",
+            "\1\u01a9",
+            "\1\u01aa",
+            "\1\u01ab",
+            "",
+            "\1\u01ac",
+            "\1\u01ad",
+            "\1\u01ae",
+            "\1\u01af",
+            "\1\u01b0",
+            "\1\u01b1",
+            "\1\u01b2",
+            "\1\u01b3",
+            "\1\u01b4",
+            "\1\u01b5",
+            "\1\u01b6",
+            "\1\u01b7",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01b9",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01bb",
+            "\1\u01bc",
+            "\1\u01bd",
+            "\1\u01be",
+            "\1\u01bf",
+            "\1\u01c0",
+            "\1\u01c1",
+            "\1\u01c2",
+            "\1\u01c3",
+            "\1\u01c4",
+            "\1\u01c5",
+            "\1\u01c6",
+            "\1\u01c7",
+            "\1\u01c8",
+            "\1\u01c9",
+            "\1\u01ca",
+            "",
+            "\1\u01cb",
+            "",
+            "\1\u01cc",
+            "\1\u01cd",
+            "\1\u01ce",
+            "\1\u01cf",
+            "\1\u01d0",
+            "\1\u01d1",
+            "\1\u01d2",
+            "\1\u01d3",
+            "\1\u01d4",
+            "\1\u01d5",
+            "\1\u01d6",
+            "\1\u01d7",
+            "\1\u01d8",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01da",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01dc",
+            "\1\u01dd",
+            "\1\u01de",
+            "\1\u01df",
+            "\1\u01e0",
+            "\1\u01e1",
+            "\1\u01e2",
+            "\1\u01e3",
+            "\1\u01e4",
+            "\1\u01e5",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01e7",
+            "\1\u01e8",
+            "\1\u01e9",
+            "\1\u01ea",
+            "\1\u01eb",
+            "\1\u01ec",
+            "\1\u01ed",
+            "",
+            "\1\u01ee",
+            "",
+            "\1\u01ef",
+            "\1\u01f0",
+            "\1\u01f1",
+            "\1\u01f2",
+            "\1\u01f3",
+            "\12\60\7\uffff\2\60\1\u01f4\27\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\2\60\1\u01f6\27\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01f8",
+            "\1\u01f9",
+            "\1\u01fb\6\uffff\1\u01fa",
+            "\1\u01fc",
+            "\1\u01fd",
+            "\1\u01fe",
+            "\1\u01ff",
+            "\1\u0200",
+            "\1\u0201",
+            "\1\u0202",
+            "\1\u0203",
+            "\1\u0204",
+            "\1\u0205",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0207",
+            "\1\u0208",
+            "\1\u0209",
+            "\1\u020a",
+            "\1\u020b",
+            "\1\u020c",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u020d\7\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0210",
+            "",
+            "\1\u0211",
+            "",
+            "\1\u0212",
+            "\1\u0213",
+            "\1\u0214",
+            "\1\u0215",
+            "\1\u0216",
+            "\1\u0217",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0219",
+            "\1\u021a",
+            "\1\u021b",
+            "",
+            "\1\u021c",
+            "\1\u021d",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u021f",
+            "\1\u0220",
+            "\1\u0221",
+            "\1\u0222",
+            "\12\60\7\uffff\5\60\1\u0224\15\60\1\u0223\6\60\4\uffff\1\60"+
+            "\1\uffff\32\60",
+            "\1\u0226",
+            "\1\u0227",
+            "\1\u0228",
+            "\1\u0229",
+            "\1\u022a",
+            "\1\u022b",
+            "",
+            "\1\u022c",
+            "",
+            "\1\u022d",
+            "\1\u022e",
+            "\1\u022f",
+            "\1\u0230",
+            "\1\u0231",
+            "\1\u0232",
+            "\1\u0233",
+            "\1\u0237\2\uffff\1\u0235\13\uffff\1\u0236\2\uffff\1\u0234",
+            "\1\u0238",
+            "\1\u0239",
+            "\1\u023a",
+            "\1\u023b\15\uffff\1\u023c",
+            "\1\u023d",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u023f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0241",
+            "\1\u0242",
+            "\1\u0243",
+            "\1\u0244",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "",
+            "\1\u0246",
+            "\1\u0247",
+            "\1\u0248",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u024a",
+            "\1\u024b",
+            "\1\u024c",
+            "\1\u024d",
+            "",
+            "\1\u024e",
+            "\1\u024f",
+            "\1\u0250",
+            "\1\u0251",
+            "\1\u0252",
+            "",
+            "\1\u0253",
+            "\1\u0254",
+            "\1\u0255",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0257",
+            "\1\u0258",
+            "",
+            "\1\u0259",
+            "\1\u025a",
+            "\1\u025b",
+            "\1\u025c",
+            "\1\u025d",
+            "\1\u025e",
+            "\1\u025f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0261",
+            "\1\u0262",
+            "\1\u0263",
+            "\1\u0264",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0267",
+            "\1\u0268",
+            "\1\u026a\5\uffff\1\u0269",
+            "\1\u026b",
+            "\1\u026c",
+            "\1\u026d",
+            "\1\u026e",
+            "\1\u026f",
+            "\1\u0270",
+            "\1\u0271",
+            "",
+            "\1\u0272",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0274",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u0277",
+            "\1\u0278",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u027a",
+            "\1\u027b",
+            "\1\u027c",
+            "\1\u027d",
+            "\1\u027e",
+            "\1\u027f",
+            "\1\u0280",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0282",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0284",
+            "\1\u0285",
+            "",
+            "\1\u0286",
+            "\1\u0287",
+            "\1\u0288",
+            "\1\u0289",
+            "\1\u028a",
+            "\1\u028b",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u028d",
+            "\1\u028e",
+            "",
+            "\1\u028f",
+            "\1\u0290",
+            "\1\u0291",
+            "\1\u0292",
+            "",
+            "",
+            "\1\u0293",
+            "\1\u0294",
+            "\1\u0295",
+            "\1\u0296",
+            "\1\u0297",
+            "\1\u0298",
+            "\1\u0299",
+            "\1\u029a",
+            "\1\u029b",
+            "\1\u029c",
+            "\1\u029d",
+            "\1\u029e",
+            "",
+            "\1\u029f",
+            "",
+            "",
+            "\1\u02a0",
+            "\1\u02a1",
+            "",
+            "\1\u02a2",
+            "\1\u02a3",
+            "\1\u02a4",
+            "\1\u02a5",
+            "\1\u02a6",
+            "\1\u02a7",
+            "\1\u02a8",
+            "",
+            "\1\u02a9",
+            "",
+            "\1\u02aa",
+            "\1\u02ab",
+            "\1\u02ac",
+            "\1\u02ad",
+            "\1\u02ae",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02b0",
+            "\1\u02b1",
+            "",
+            "\1\u02b2",
+            "\1\u02b3",
+            "\1\u02b4",
+            "\1\u02b5",
+            "\1\u02b6",
+            "\1\u02b7",
+            "\1\u02b8",
+            "\1\u02b9",
+            "\1\u02ba",
+            "\1\u02bb",
+            "\1\u02bc",
+            "\1\u02bd",
+            "\1\u02be",
+            "\1\u02bf",
+            "\1\u02c0",
+            "\1\u02c1",
+            "\1\u02c2",
+            "\1\u02c3",
+            "\1\u02c4",
+            "\1\u02c5",
+            "\1\u02c6",
+            "\1\u02c7",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02c9",
+            "\1\u02ca",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02cc",
+            "\1\u02cd",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02d0",
+            "\1\u02d1",
+            "\1\u02d2",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u02d4",
+            "\1\u02d5",
+            "\1\u02d6",
+            "\1\u02d7",
+            "\1\u02d8",
+            "\1\u02d9",
+            "\1\u02da",
+            "\1\u02db",
+            "\1\u02dc",
+            "\1\u02dd",
+            "\1\u02de",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02e0",
+            "\1\u02e1",
+            "\1\u02e2",
+            "\1\u02e3",
+            "\1\u02e4",
+            "\1\u02e5",
+            "\1\u02e6",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02e8",
+            "\1\u02e9",
+            "\1\u02ea",
+            "\1\u02eb",
+            "",
+            "\1\u02ec",
+            "\1\u02ed",
+            "",
+            "\1\u02ee",
+            "\1\u02ef",
+            "",
+            "",
+            "\1\u02f0",
+            "\1\u02f1",
+            "\1\u02f2",
+            "",
+            "\1\u02f3",
+            "\1\u02f4",
+            "\1\u02f5",
+            "\1\u02f6",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02fa",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02fc",
+            "\1\u02fd",
+            "",
+            "\1\u02fe",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0300",
+            "\1\u0301",
+            "\1\u0302",
+            "\1\u0303",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0306",
+            "\1\u0307",
+            "\1\u0308",
+            "\1\u0309",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u030c",
+            "\1\u030d",
+            "\1\u030e",
+            "\1\u030f",
+            "\1\u0310",
+            "\1\u0311",
+            "\1\u0312",
+            "\1\u0313",
+            "",
+            "",
+            "",
+            "\1\u0314",
+            "",
+            "\1\u0315",
+            "\1\u0316",
+            "\1\u0317",
+            "",
+            "\1\u0318",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u031a",
+            "\1\u031b",
+            "",
+            "",
+            "\1\u031c",
+            "\1\u031d",
+            "\1\u031e",
+            "\1\u031f",
+            "",
+            "",
+            "\1\u0320",
+            "\1\u0321",
+            "\1\u0322",
+            "\1\u0323",
+            "\1\u0324",
+            "\1\u0325",
+            "\1\u0326",
+            "\1\u0327",
+            "\1\u0328",
+            "\1\u0329",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u032b",
+            "\1\u032c",
+            "",
+            "\1\u032d",
+            "\1\u032e",
+            "\1\u032f",
+            "\1\u0330",
+            "\1\u0331",
+            "\12\60\7\uffff\10\60\1\u0332\21\60\4\uffff\1\60\1\uffff\32"+
+            "\60",
+            "\1\u0334",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0336",
+            "\1\u0337",
+            "\1\u0338",
+            "\1\u0339",
+            "\1\u033a",
+            "\1\u033b",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u033d",
+            "",
+            "\1\u033e",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0340",
+            "\1\u0341",
+            "\1\u0342",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0344",
+            "\1\u0345",
+            "",
+            "\1\u0346",
+            "",
+            "\1\u0347",
+            "\1\u0348",
+            "\1\u0349",
+            "\1\u034a",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u034e",
+            "",
+            "\1\u034f",
+            "\1\u0351\16\uffff\1\u0350",
+            "\1\u0352",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0354",
+            "\1\u0355",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0357",
+            "\1\u0358",
+            "\1\u0359",
+            "",
+            "",
+            "",
+            "\1\u035a",
+            "\1\u035b",
+            "\1\u035c",
+            "\1\u035d",
+            "\1\u035e",
+            "",
+            "\1\u035f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0362",
+            "\1\u0363",
+            "\1\u0364",
+            "\1\u0365",
+            "\1\u0366",
+            "\1\u0367",
+            "\1\u0368",
+            "\1\u0369",
+            "",
+            "",
+            "\1\u036a",
+            "\1\u036b",
+            "\1\u036c",
+            "\1\u036d",
+            "\1\u036e",
+            "\1\u036f",
+            "\1\u0370",
+            "\1\u0371",
+            "\1\u0372",
+            "\1\u0373",
+            "\1\u0374",
+            "\1\u0375",
+            "\1\u0376",
+            "\1\u0377",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0379",
+            "\1\u037a",
+            "\1\u037b",
+            "\1\u037c",
+            "\1\u037d",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u037f",
+            "",
+            "\1\u0380",
+            "\1\u0381",
+            "\1\u0382",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u0385",
+            "\1\u0386",
+            "\1\u0387",
+            "\1\u0388",
+            "",
+            "",
+            "\1\u0389",
+            "\1\u038a",
+            "\1\u038b",
+            "\1\u038c",
+            "\1\u038d",
+            "\1\u038e",
+            "\1\u038f",
+            "\1\u0390",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0392",
+            "\1\u0393",
+            "\1\u0394",
+            "",
+            "\1\u0395",
+            "\1\u0396",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0398",
+            "\1\u0399",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            ""
+    };
+
+    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+    static final short[][] DFA12_transition;
+
+    static {
+        int numStates = DFA12_transitionS.length;
+        DFA12_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+        }
+    }
+
+    static class DFA12 extends DFA {
+
+        public DFA12(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 12;
+            this.eot = DFA12_eot;
+            this.eof = DFA12_eof;
+            this.min = DFA12_min;
+            this.max = DFA12_max;
+            this.accept = DFA12_accept;
+            this.special = DFA12_special;
+            this.transition = DFA12_transition;
+        }
+        public String getDescription() {
+            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | 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 LA12_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA12_0=='A') ) {s = 1;}
+
+                        else if ( (LA12_0=='R') ) {s = 2;}
+
+                        else if ( (LA12_0=='E') ) {s = 3;}
+
+                        else if ( (LA12_0=='e') ) {s = 4;}
+
+                        else if ( (LA12_0=='{') ) {s = 5;}
+
+                        else if ( (LA12_0=='n') ) {s = 6;}
+
+                        else if ( (LA12_0=='t') ) {s = 7;}
+
+                        else if ( (LA12_0=='}') ) {s = 8;}
+
+                        else if ( (LA12_0=='a') ) {s = 9;}
+
+                        else if ( (LA12_0=='s') ) {s = 10;}
+
+                        else if ( (LA12_0=='g') ) {s = 11;}
+
+                        else if ( (LA12_0==',') ) {s = 12;}
+
+                        else if ( (LA12_0=='p') ) {s = 13;}
+
+                        else if ( (LA12_0=='T') ) {s = 14;}
+
+                        else if ( (LA12_0=='i') ) {s = 15;}
+
+                        else if ( (LA12_0=='(') ) {s = 16;}
+
+                        else if ( (LA12_0==')') ) {s = 17;}
+
+                        else if ( (LA12_0=='o') ) {s = 18;}
+
+                        else if ( (LA12_0=='r') ) {s = 19;}
+
+                        else if ( (LA12_0=='S') ) {s = 20;}
+
+                        else if ( (LA12_0=='w') ) {s = 21;}
+
+                        else if ( (LA12_0=='P') ) {s = 22;}
+
+                        else if ( (LA12_0=='v') ) {s = 23;}
+
+                        else if ( (LA12_0=='O') ) {s = 24;}
+
+                        else if ( (LA12_0=='d') ) {s = 25;}
+
+                        else if ( (LA12_0=='I') ) {s = 26;}
+
+                        else if ( (LA12_0=='L') ) {s = 27;}
+
+                        else if ( (LA12_0=='c') ) {s = 28;}
+
+                        else if ( (LA12_0=='b') ) {s = 29;}
+
+                        else if ( (LA12_0=='B') ) {s = 30;}
+
+                        else if ( (LA12_0=='M') ) {s = 31;}
+
+                        else if ( (LA12_0=='m') ) {s = 32;}
+
+                        else if ( (LA12_0=='-') ) {s = 33;}
+
+                        else if ( (LA12_0=='.') ) {s = 34;}
+
+                        else if ( (LA12_0=='W') ) {s = 35;}
+
+                        else if ( (LA12_0=='u') ) {s = 36;}
+
+                        else if ( (LA12_0=='l') ) {s = 37;}
+
+                        else if ( (LA12_0=='^') ) {s = 38;}
+
+                        else if ( ((LA12_0>='C' && LA12_0<='D')||(LA12_0>='F' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||LA12_0=='N'||LA12_0=='Q'||(LA12_0>='U' && LA12_0<='V')||(LA12_0>='X' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='f'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='k')||LA12_0=='q'||(LA12_0>='x' && LA12_0<='z')) ) {s = 39;}
+
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 40;}
+
+                        else if ( (LA12_0=='\"') ) {s = 41;}
+
+                        else if ( (LA12_0=='\'') ) {s = 42;}
+
+                        else if ( (LA12_0=='/') ) {s = 43;}
+
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 44;}
+
+                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 45;}
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA12_42 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA12_42>='\u0000' && LA12_42<='\uFFFF')) ) {s = 106;}
+
+                        else s = 45;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA12_41 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA12_41>='\u0000' && LA12_41<='\uFFFF')) ) {s = 106;}
+
+                        else s = 45;
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 12, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+ 
+
+}
\ No newline at end of file
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLangParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLangParser.java
new file mode 100644
index 0000000000000000000000000000000000000000..edaa1ecb6f13f6c9ef540df571ca725ee5709e21
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLangParser.java
@@ -0,0 +1,36632 @@
+package edu.kit.ipd.descartes.ui.contentassist.antlr.internal; 
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStaLangParser extends AbstractInternalContentAssistParser {
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'AdaptationScope'", "'AdaptationDirection'", "'RelationalOperator'", "'EDate'", "'E'", "'e'", "'AdaptationProcess'", "'{'", "'name'", "'tactics'", "'}'", "'actions'", "'strategies'", "'goal'", "','", "'parameters'", "'Tactic'", "'implementedPlan'", "'inputParams'", "'('", "')'", "'outputParam'", "'Action'", "'referredAdaptationPoint'", "'adaptationActionOperation'", "'Strategy'", "'objective'", "'triggeringEvents'", "'weightingFunction'", "'Parameter'", "'type'", "'value'", "'OverallGoal'", "'description'", "'objectives'", "'ImportDeclaration'", "'AdaptationPlan'", "'steps'", "'StartAction'", "'predecessor'", "'successor'", "'StopAction'", "'LoopAction'", "'counter'", "'body'", "'BranchAction'", "'conditionTrueBranch'", "'conditionFalseBranch'", "'condition'", "'context'", "'ActionReference'", "'refersTo'", "'AdaptationActionOperation'", "'adaptationOperationScope'", "'adaptationOperationDirection'", "'ModelVariableConfigurationRange'", "'minValue'", "'maxValue'", "'adaptableEntity'", "'ModelEntityConfigurationRange'", "'variationPossibility'", "'-'", "'.'", "'PropertyRange'", "'minValueConstraint'", "'maxValueConstraint'", "'SetOfConfigurations'", "'valueConstraint'", "'variants'", "'OclConstraint'", "'oclString'", "'Objective'", "'specifications'", "'Event'", "'WeightedTactic'", "'currentWeight'", "'defaultWeight'", "'usedTactic'", "'lastImpact'", "'WeightingFunction'", "'weightingFunctionImplementation'", "'weightedMetrics'", "'Specification'", "'relationalOperator'", "'metricType'", "'MetricValue'", "'measuredEntity'", "'WeightedMetric'", "'weight'"
+    };
+    public static final int RULE_ID=5;
+    public static final int T__29=29;
+    public static final int T__28=28;
+    public static final int T__27=27;
+    public static final int T__26=26;
+    public static final int T__25=25;
+    public static final int T__24=24;
+    public static final int T__23=23;
+    public static final int T__22=22;
+    public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
+    public static final int T__20=20;
+    public static final int EOF=-1;
+    public static final int T__93=93;
+    public static final int T__19=19;
+    public static final int T__94=94;
+    public static final int T__91=91;
+    public static final int T__92=92;
+    public static final int T__16=16;
+    public static final int T__15=15;
+    public static final int T__90=90;
+    public static final int T__18=18;
+    public static final int T__17=17;
+    public static final int T__12=12;
+    public static final int T__11=11;
+    public static final int T__14=14;
+    public static final int T__13=13;
+    public static final int T__99=99;
+    public static final int T__98=98;
+    public static final int T__97=97;
+    public static final int T__96=96;
+    public static final int T__95=95;
+    public static final int T__80=80;
+    public static final int T__81=81;
+    public static final int T__82=82;
+    public static final int T__83=83;
+    public static final int T__85=85;
+    public static final int T__84=84;
+    public static final int T__87=87;
+    public static final int T__86=86;
+    public static final int T__89=89;
+    public static final int T__88=88;
+    public static final int RULE_ML_COMMENT=7;
+    public static final int RULE_STRING=4;
+    public static final int T__71=71;
+    public static final int T__72=72;
+    public static final int T__70=70;
+    public static final int T__76=76;
+    public static final int T__75=75;
+    public static final int T__74=74;
+    public static final int T__73=73;
+    public static final int T__79=79;
+    public static final int T__78=78;
+    public static final int T__77=77;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__66=66;
+    public static final int T__67=67;
+    public static final int T__64=64;
+    public static final int T__65=65;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__61=61;
+    public static final int T__60=60;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__52=52;
+    public static final int T__53=53;
+    public static final int T__54=54;
+    public static final int T__59=59;
+    public static final int RULE_INT=6;
+    public static final int T__50=50;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int RULE_SL_COMMENT=8;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int RULE_WS=9;
+
+    // delegates
+    // delegators
+
+
+        public InternalStaLangParser(TokenStream input) {
+            this(input, new RecognizerSharedState());
+        }
+        public InternalStaLangParser(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+             
+        }
+        
+
+    public String[] getTokenNames() { return InternalStaLangParser.tokenNames; }
+    public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g"; }
+
+
+     
+     	private StaLangGrammarAccess grammarAccess;
+     	
+        public void setGrammarAccess(StaLangGrammarAccess grammarAccess) {
+        	this.grammarAccess = grammarAccess;
+        }
+        
+        @Override
+        protected Grammar getGrammar() {
+        	return grammarAccess.getGrammar();
+        }
+        
+        @Override
+        protected String getValueForTokenName(String tokenName) {
+        	return tokenName;
+        }
+
+
+
+
+    // $ANTLR start "entryRuleAdaptationProcess"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:60:1: entryRuleAdaptationProcess : ruleAdaptationProcess EOF ;
+    public final void entryRuleAdaptationProcess() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:61:1: ( ruleAdaptationProcess EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:62:1: ruleAdaptationProcess EOF
+            {
+             before(grammarAccess.getAdaptationProcessRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationProcess_in_entryRuleAdaptationProcess61);
+            ruleAdaptationProcess();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationProcess68); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAdaptationProcess"
+
+
+    // $ANTLR start "ruleAdaptationProcess"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:69:1: ruleAdaptationProcess : ( ( rule__AdaptationProcess__Group__0 ) ) ;
+    public final void ruleAdaptationProcess() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:73:2: ( ( ( rule__AdaptationProcess__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:74:1: ( ( rule__AdaptationProcess__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:74:1: ( ( rule__AdaptationProcess__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:75:1: ( rule__AdaptationProcess__Group__0 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:76:1: ( rule__AdaptationProcess__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:76:2: rule__AdaptationProcess__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__0_in_ruleAdaptationProcess94);
+            rule__AdaptationProcess__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAdaptationProcess"
+
+
+    // $ANTLR start "entryRuleAbstractControlFlowElement"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:90:1: entryRuleAbstractControlFlowElement : ruleAbstractControlFlowElement EOF ;
+    public final void entryRuleAbstractControlFlowElement() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:91:1: ( ruleAbstractControlFlowElement EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:92:1: ruleAbstractControlFlowElement EOF
+            {
+             before(grammarAccess.getAbstractControlFlowElementRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement123);
+            ruleAbstractControlFlowElement();
+
+            state._fsp--;
+
+             after(grammarAccess.getAbstractControlFlowElementRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractControlFlowElement130); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAbstractControlFlowElement"
+
+
+    // $ANTLR start "ruleAbstractControlFlowElement"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:99:1: ruleAbstractControlFlowElement : ( ( rule__AbstractControlFlowElement__Alternatives ) ) ;
+    public final void ruleAbstractControlFlowElement() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:103:2: ( ( ( rule__AbstractControlFlowElement__Alternatives ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:104:1: ( ( rule__AbstractControlFlowElement__Alternatives ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:104:1: ( ( rule__AbstractControlFlowElement__Alternatives ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:105:1: ( rule__AbstractControlFlowElement__Alternatives )
+            {
+             before(grammarAccess.getAbstractControlFlowElementAccess().getAlternatives()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:106:1: ( rule__AbstractControlFlowElement__Alternatives )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:106:2: rule__AbstractControlFlowElement__Alternatives
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AbstractControlFlowElement__Alternatives_in_ruleAbstractControlFlowElement156);
+            rule__AbstractControlFlowElement__Alternatives();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAbstractControlFlowElementAccess().getAlternatives()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAbstractControlFlowElement"
+
+
+    // $ANTLR start "entryRuleVariationType"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:118:1: entryRuleVariationType : ruleVariationType EOF ;
+    public final void entryRuleVariationType() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:119:1: ( ruleVariationType EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:120:1: ruleVariationType EOF
+            {
+             before(grammarAccess.getVariationTypeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleVariationType_in_entryRuleVariationType183);
+            ruleVariationType();
+
+            state._fsp--;
+
+             after(grammarAccess.getVariationTypeRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVariationType190); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleVariationType"
+
+
+    // $ANTLR start "ruleVariationType"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:127:1: ruleVariationType : ( ( rule__VariationType__Alternatives ) ) ;
+    public final void ruleVariationType() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:131:2: ( ( ( rule__VariationType__Alternatives ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:132:1: ( ( rule__VariationType__Alternatives ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:132:1: ( ( rule__VariationType__Alternatives ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:133:1: ( rule__VariationType__Alternatives )
+            {
+             before(grammarAccess.getVariationTypeAccess().getAlternatives()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:134:1: ( rule__VariationType__Alternatives )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:134:2: rule__VariationType__Alternatives
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__VariationType__Alternatives_in_ruleVariationType216);
+            rule__VariationType__Alternatives();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getVariationTypeAccess().getAlternatives()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleVariationType"
+
+
+    // $ANTLR start "entryRuleEString"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:146:1: entryRuleEString : ruleEString EOF ;
+    public final void entryRuleEString() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:147:1: ( ruleEString EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:148:1: ruleEString EOF
+            {
+             before(grammarAccess.getEStringRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString243);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getEStringRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString250); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleEString"
+
+
+    // $ANTLR start "ruleEString"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:155:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
+    public final void ruleEString() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:159:2: ( ( ( rule__EString__Alternatives ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:160:1: ( ( rule__EString__Alternatives ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:160:1: ( ( rule__EString__Alternatives ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:161:1: ( rule__EString__Alternatives )
+            {
+             before(grammarAccess.getEStringAccess().getAlternatives()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:162:1: ( rule__EString__Alternatives )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:162:2: rule__EString__Alternatives
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString276);
+            rule__EString__Alternatives();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getEStringAccess().getAlternatives()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleEString"
+
+
+    // $ANTLR start "entryRuleTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:174:1: entryRuleTactic : ruleTactic EOF ;
+    public final void entryRuleTactic() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:175:1: ( ruleTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:176:1: ruleTactic EOF
+            {
+             before(grammarAccess.getTacticRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_entryRuleTactic303);
+            ruleTactic();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTactic310); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleTactic"
+
+
+    // $ANTLR start "ruleTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:183:1: ruleTactic : ( ( rule__Tactic__Group__0 ) ) ;
+    public final void ruleTactic() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:187:2: ( ( ( rule__Tactic__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:188:1: ( ( rule__Tactic__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:188:1: ( ( rule__Tactic__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:189:1: ( rule__Tactic__Group__0 )
+            {
+             before(grammarAccess.getTacticAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:190:1: ( rule__Tactic__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:190:2: rule__Tactic__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__0_in_ruleTactic336);
+            rule__Tactic__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleTactic"
+
+
+    // $ANTLR start "entryRuleAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:202:1: entryRuleAction : ruleAction EOF ;
+    public final void entryRuleAction() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:203:1: ( ruleAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:204:1: ruleAction EOF
+            {
+             before(grammarAccess.getActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction363);
+            ruleAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction370); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAction"
+
+
+    // $ANTLR start "ruleAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:211:1: ruleAction : ( ( rule__Action__Group__0 ) ) ;
+    public final void ruleAction() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:215:2: ( ( ( rule__Action__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:216:1: ( ( rule__Action__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:216:1: ( ( rule__Action__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:217:1: ( rule__Action__Group__0 )
+            {
+             before(grammarAccess.getActionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:218:1: ( rule__Action__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:218:2: rule__Action__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__0_in_ruleAction396);
+            rule__Action__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAction"
+
+
+    // $ANTLR start "entryRuleStrategy"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:230:1: entryRuleStrategy : ruleStrategy EOF ;
+    public final void entryRuleStrategy() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:231:1: ( ruleStrategy EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:232:1: ruleStrategy EOF
+            {
+             before(grammarAccess.getStrategyRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_entryRuleStrategy423);
+            ruleStrategy();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStrategy430); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleStrategy"
+
+
+    // $ANTLR start "ruleStrategy"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:239:1: ruleStrategy : ( ( rule__Strategy__Group__0 ) ) ;
+    public final void ruleStrategy() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:243:2: ( ( ( rule__Strategy__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:244:1: ( ( rule__Strategy__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:244:1: ( ( rule__Strategy__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:245:1: ( rule__Strategy__Group__0 )
+            {
+             before(grammarAccess.getStrategyAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:246:1: ( rule__Strategy__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:246:2: rule__Strategy__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__0_in_ruleStrategy456);
+            rule__Strategy__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleStrategy"
+
+
+    // $ANTLR start "entryRuleParameter"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:258:1: entryRuleParameter : ruleParameter EOF ;
+    public final void entryRuleParameter() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:259:1: ( ruleParameter EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:260:1: ruleParameter EOF
+            {
+             before(grammarAccess.getParameterRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter483);
+            ruleParameter();
+
+            state._fsp--;
+
+             after(grammarAccess.getParameterRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter490); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleParameter"
+
+
+    // $ANTLR start "ruleParameter"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:267:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ;
+    public final void ruleParameter() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:271:2: ( ( ( rule__Parameter__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:272:1: ( ( rule__Parameter__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:272:1: ( ( rule__Parameter__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:273:1: ( rule__Parameter__Group__0 )
+            {
+             before(grammarAccess.getParameterAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:274:1: ( rule__Parameter__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:274:2: rule__Parameter__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0_in_ruleParameter516);
+            rule__Parameter__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getParameterAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleParameter"
+
+
+    // $ANTLR start "entryRuleOverallGoal"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:286:1: entryRuleOverallGoal : ruleOverallGoal EOF ;
+    public final void entryRuleOverallGoal() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:287:1: ( ruleOverallGoal EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:288:1: ruleOverallGoal EOF
+            {
+             before(grammarAccess.getOverallGoalRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal543);
+            ruleOverallGoal();
+
+            state._fsp--;
+
+             after(grammarAccess.getOverallGoalRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOverallGoal550); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleOverallGoal"
+
+
+    // $ANTLR start "ruleOverallGoal"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:295:1: ruleOverallGoal : ( ( rule__OverallGoal__Group__0 ) ) ;
+    public final void ruleOverallGoal() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:299:2: ( ( ( rule__OverallGoal__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:300:1: ( ( rule__OverallGoal__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:300:1: ( ( rule__OverallGoal__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:301:1: ( rule__OverallGoal__Group__0 )
+            {
+             before(grammarAccess.getOverallGoalAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:302:1: ( rule__OverallGoal__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:302:2: rule__OverallGoal__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__0_in_ruleOverallGoal576);
+            rule__OverallGoal__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOverallGoalAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleOverallGoal"
+
+
+    // $ANTLR start "entryRuleImportDeclaration"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:314:1: entryRuleImportDeclaration : ruleImportDeclaration EOF ;
+    public final void entryRuleImportDeclaration() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:315:1: ( ruleImportDeclaration EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:316:1: ruleImportDeclaration EOF
+            {
+             before(grammarAccess.getImportDeclarationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleImportDeclaration_in_entryRuleImportDeclaration603);
+            ruleImportDeclaration();
+
+            state._fsp--;
+
+             after(grammarAccess.getImportDeclarationRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportDeclaration610); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleImportDeclaration"
+
+
+    // $ANTLR start "ruleImportDeclaration"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:323:1: ruleImportDeclaration : ( ( rule__ImportDeclaration__Group__0 ) ) ;
+    public final void ruleImportDeclaration() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:327:2: ( ( ( rule__ImportDeclaration__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:328:1: ( ( rule__ImportDeclaration__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:328:1: ( ( rule__ImportDeclaration__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:329:1: ( rule__ImportDeclaration__Group__0 )
+            {
+             before(grammarAccess.getImportDeclarationAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:330:1: ( rule__ImportDeclaration__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:330:2: rule__ImportDeclaration__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ImportDeclaration__Group__0_in_ruleImportDeclaration636);
+            rule__ImportDeclaration__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getImportDeclarationAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleImportDeclaration"
+
+
+    // $ANTLR start "entryRuleAdaptationPlan"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:342:1: entryRuleAdaptationPlan : ruleAdaptationPlan EOF ;
+    public final void entryRuleAdaptationPlan() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:343:1: ( ruleAdaptationPlan EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:344:1: ruleAdaptationPlan EOF
+            {
+             before(grammarAccess.getAdaptationPlanRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan663);
+            ruleAdaptationPlan();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationPlanRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationPlan670); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAdaptationPlan"
+
+
+    // $ANTLR start "ruleAdaptationPlan"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:351:1: ruleAdaptationPlan : ( ( rule__AdaptationPlan__Group__0 ) ) ;
+    public final void ruleAdaptationPlan() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:355:2: ( ( ( rule__AdaptationPlan__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:356:1: ( ( rule__AdaptationPlan__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:356:1: ( ( rule__AdaptationPlan__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:357:1: ( rule__AdaptationPlan__Group__0 )
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:358:1: ( rule__AdaptationPlan__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:358:2: rule__AdaptationPlan__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__0_in_ruleAdaptationPlan696);
+            rule__AdaptationPlan__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAdaptationPlan"
+
+
+    // $ANTLR start "entryRuleStartAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:370:1: entryRuleStartAction : ruleStartAction EOF ;
+    public final void entryRuleStartAction() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:371:1: ( ruleStartAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:372:1: ruleStartAction EOF
+            {
+             before(grammarAccess.getStartActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction723);
+            ruleStartAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getStartActionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction730); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleStartAction"
+
+
+    // $ANTLR start "ruleStartAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:379:1: ruleStartAction : ( ( rule__StartAction__Group__0 ) ) ;
+    public final void ruleStartAction() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:383:2: ( ( ( rule__StartAction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:384:1: ( ( rule__StartAction__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:384:1: ( ( rule__StartAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:385:1: ( rule__StartAction__Group__0 )
+            {
+             before(grammarAccess.getStartActionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:386:1: ( rule__StartAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:386:2: rule__StartAction__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__0_in_ruleStartAction756);
+            rule__StartAction__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleStartAction"
+
+
+    // $ANTLR start "entryRuleStopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:398:1: entryRuleStopAction : ruleStopAction EOF ;
+    public final void entryRuleStopAction() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:399:1: ( ruleStopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:400:1: ruleStopAction EOF
+            {
+             before(grammarAccess.getStopActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction783);
+            ruleStopAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getStopActionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction790); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleStopAction"
+
+
+    // $ANTLR start "ruleStopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:407:1: ruleStopAction : ( ( rule__StopAction__Group__0 ) ) ;
+    public final void ruleStopAction() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:411:2: ( ( ( rule__StopAction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:412:1: ( ( rule__StopAction__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:412:1: ( ( rule__StopAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:413:1: ( rule__StopAction__Group__0 )
+            {
+             before(grammarAccess.getStopActionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:414:1: ( rule__StopAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:414:2: rule__StopAction__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__0_in_ruleStopAction816);
+            rule__StopAction__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleStopAction"
+
+
+    // $ANTLR start "entryRuleLoopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:426:1: entryRuleLoopAction : ruleLoopAction EOF ;
+    public final void entryRuleLoopAction() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:427:1: ( ruleLoopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:428:1: ruleLoopAction EOF
+            {
+             before(grammarAccess.getLoopActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction843);
+            ruleLoopAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getLoopActionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction850); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleLoopAction"
+
+
+    // $ANTLR start "ruleLoopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:435:1: ruleLoopAction : ( ( rule__LoopAction__Group__0 ) ) ;
+    public final void ruleLoopAction() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:439:2: ( ( ( rule__LoopAction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:440:1: ( ( rule__LoopAction__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:440:1: ( ( rule__LoopAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:441:1: ( rule__LoopAction__Group__0 )
+            {
+             before(grammarAccess.getLoopActionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:442:1: ( rule__LoopAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:442:2: rule__LoopAction__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__0_in_ruleLoopAction876);
+            rule__LoopAction__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleLoopAction"
+
+
+    // $ANTLR start "entryRuleBranchAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:454:1: entryRuleBranchAction : ruleBranchAction EOF ;
+    public final void entryRuleBranchAction() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:455:1: ( ruleBranchAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:456:1: ruleBranchAction EOF
+            {
+             before(grammarAccess.getBranchActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction903);
+            ruleBranchAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction910); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleBranchAction"
+
+
+    // $ANTLR start "ruleBranchAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:463:1: ruleBranchAction : ( ( rule__BranchAction__Group__0 ) ) ;
+    public final void ruleBranchAction() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:467:2: ( ( ( rule__BranchAction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:468:1: ( ( rule__BranchAction__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:468:1: ( ( rule__BranchAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:469:1: ( rule__BranchAction__Group__0 )
+            {
+             before(grammarAccess.getBranchActionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:470:1: ( rule__BranchAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:470:2: rule__BranchAction__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__0_in_ruleBranchAction936);
+            rule__BranchAction__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleBranchAction"
+
+
+    // $ANTLR start "entryRuleActionReference"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:482:1: entryRuleActionReference : ruleActionReference EOF ;
+    public final void entryRuleActionReference() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:483:1: ( ruleActionReference EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:484:1: ruleActionReference EOF
+            {
+             before(grammarAccess.getActionReferenceRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_entryRuleActionReference963);
+            ruleActionReference();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionReferenceRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActionReference970); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleActionReference"
+
+
+    // $ANTLR start "ruleActionReference"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:491:1: ruleActionReference : ( ( rule__ActionReference__Group__0 ) ) ;
+    public final void ruleActionReference() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:495:2: ( ( ( rule__ActionReference__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:496:1: ( ( rule__ActionReference__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:496:1: ( ( rule__ActionReference__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:497:1: ( rule__ActionReference__Group__0 )
+            {
+             before(grammarAccess.getActionReferenceAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:498:1: ( rule__ActionReference__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:498:2: rule__ActionReference__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__0_in_ruleActionReference996);
+            rule__ActionReference__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleActionReference"
+
+
+    // $ANTLR start "entryRuleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:510:1: entryRuleAdaptationActionOperation : ruleAdaptationActionOperation EOF ;
+    public final void entryRuleAdaptationActionOperation() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:511:1: ( ruleAdaptationActionOperation EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:512:1: ruleAdaptationActionOperation EOF
+            {
+             before(grammarAccess.getAdaptationActionOperationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation1023);
+            ruleAdaptationActionOperation();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationActionOperationRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationActionOperation1030); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAdaptationActionOperation"
+
+
+    // $ANTLR start "ruleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:519:1: ruleAdaptationActionOperation : ( ( rule__AdaptationActionOperation__Group__0 ) ) ;
+    public final void ruleAdaptationActionOperation() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:523:2: ( ( ( rule__AdaptationActionOperation__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:524:1: ( ( rule__AdaptationActionOperation__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:524:1: ( ( rule__AdaptationActionOperation__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:525:1: ( rule__AdaptationActionOperation__Group__0 )
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:526:1: ( rule__AdaptationActionOperation__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:526:2: rule__AdaptationActionOperation__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__0_in_ruleAdaptationActionOperation1056);
+            rule__AdaptationActionOperation__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationActionOperationAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAdaptationActionOperation"
+
+
+    // $ANTLR start "entryRuleModelVariableConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:538:1: entryRuleModelVariableConfigurationRange : ruleModelVariableConfigurationRange EOF ;
+    public final void entryRuleModelVariableConfigurationRange() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:539:1: ( ruleModelVariableConfigurationRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:540:1: ruleModelVariableConfigurationRange EOF
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange1083);
+            ruleModelVariableConfigurationRange();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelVariableConfigurationRangeRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange1090); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleModelVariableConfigurationRange"
+
+
+    // $ANTLR start "ruleModelVariableConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:547:1: ruleModelVariableConfigurationRange : ( ( rule__ModelVariableConfigurationRange__Group__0 ) ) ;
+    public final void ruleModelVariableConfigurationRange() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:551:2: ( ( ( rule__ModelVariableConfigurationRange__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:552:1: ( ( rule__ModelVariableConfigurationRange__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:552:1: ( ( rule__ModelVariableConfigurationRange__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:553:1: ( rule__ModelVariableConfigurationRange__Group__0 )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:554:1: ( rule__ModelVariableConfigurationRange__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:554:2: rule__ModelVariableConfigurationRange__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__0_in_ruleModelVariableConfigurationRange1116);
+            rule__ModelVariableConfigurationRange__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleModelVariableConfigurationRange"
+
+
+    // $ANTLR start "entryRuleModelEntityConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:566:1: entryRuleModelEntityConfigurationRange : ruleModelEntityConfigurationRange EOF ;
+    public final void entryRuleModelEntityConfigurationRange() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:567:1: ( ruleModelEntityConfigurationRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:568:1: ruleModelEntityConfigurationRange EOF
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange1143);
+            ruleModelEntityConfigurationRange();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelEntityConfigurationRangeRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange1150); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleModelEntityConfigurationRange"
+
+
+    // $ANTLR start "ruleModelEntityConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:575:1: ruleModelEntityConfigurationRange : ( ( rule__ModelEntityConfigurationRange__Group__0 ) ) ;
+    public final void ruleModelEntityConfigurationRange() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:579:2: ( ( ( rule__ModelEntityConfigurationRange__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:580:1: ( ( rule__ModelEntityConfigurationRange__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:580:1: ( ( rule__ModelEntityConfigurationRange__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:581:1: ( rule__ModelEntityConfigurationRange__Group__0 )
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:582:1: ( rule__ModelEntityConfigurationRange__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:582:2: rule__ModelEntityConfigurationRange__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__0_in_ruleModelEntityConfigurationRange1176);
+            rule__ModelEntityConfigurationRange__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleModelEntityConfigurationRange"
+
+
+    // $ANTLR start "entryRuleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:594:1: entryRuleEDouble : ruleEDouble EOF ;
+    public final void entryRuleEDouble() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:595:1: ( ruleEDouble EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:596:1: ruleEDouble EOF
+            {
+             before(grammarAccess.getEDoubleRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble1203);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getEDoubleRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble1210); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleEDouble"
+
+
+    // $ANTLR start "ruleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:603:1: ruleEDouble : ( ( rule__EDouble__Group__0 ) ) ;
+    public final void ruleEDouble() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:607:2: ( ( ( rule__EDouble__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:608:1: ( ( rule__EDouble__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:608:1: ( ( rule__EDouble__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:609:1: ( rule__EDouble__Group__0 )
+            {
+             before(grammarAccess.getEDoubleAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:610:1: ( rule__EDouble__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:610:2: rule__EDouble__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0_in_ruleEDouble1236);
+            rule__EDouble__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleEDouble"
+
+
+    // $ANTLR start "entryRulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:622:1: entryRulePropertyRange : rulePropertyRange EOF ;
+    public final void entryRulePropertyRange() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:623:1: ( rulePropertyRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:624:1: rulePropertyRange EOF
+            {
+             before(grammarAccess.getPropertyRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_entryRulePropertyRange1263);
+            rulePropertyRange();
+
+            state._fsp--;
+
+             after(grammarAccess.getPropertyRangeRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyRange1270); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRulePropertyRange"
+
+
+    // $ANTLR start "rulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:631:1: rulePropertyRange : ( ( rule__PropertyRange__Group__0 ) ) ;
+    public final void rulePropertyRange() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:635:2: ( ( ( rule__PropertyRange__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:636:1: ( ( rule__PropertyRange__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:636:1: ( ( rule__PropertyRange__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:637:1: ( rule__PropertyRange__Group__0 )
+            {
+             before(grammarAccess.getPropertyRangeAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:638:1: ( rule__PropertyRange__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:638:2: rule__PropertyRange__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__0_in_rulePropertyRange1296);
+            rule__PropertyRange__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getPropertyRangeAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rulePropertyRange"
+
+
+    // $ANTLR start "entryRuleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:650:1: entryRuleSetOfConfigurations : ruleSetOfConfigurations EOF ;
+    public final void entryRuleSetOfConfigurations() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:651:1: ( ruleSetOfConfigurations EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:652:1: ruleSetOfConfigurations EOF
+            {
+             before(grammarAccess.getSetOfConfigurationsRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations1323);
+            ruleSetOfConfigurations();
+
+            state._fsp--;
+
+             after(grammarAccess.getSetOfConfigurationsRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetOfConfigurations1330); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleSetOfConfigurations"
+
+
+    // $ANTLR start "ruleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:659:1: ruleSetOfConfigurations : ( ( rule__SetOfConfigurations__Group__0 ) ) ;
+    public final void ruleSetOfConfigurations() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:663:2: ( ( ( rule__SetOfConfigurations__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:664:1: ( ( rule__SetOfConfigurations__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:664:1: ( ( rule__SetOfConfigurations__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:665:1: ( rule__SetOfConfigurations__Group__0 )
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:666:1: ( rule__SetOfConfigurations__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:666:2: rule__SetOfConfigurations__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__0_in_ruleSetOfConfigurations1356);
+            rule__SetOfConfigurations__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleSetOfConfigurations"
+
+
+    // $ANTLR start "entryRuleOclConstraint"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:678:1: entryRuleOclConstraint : ruleOclConstraint EOF ;
+    public final void entryRuleOclConstraint() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:679:1: ( ruleOclConstraint EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:680:1: ruleOclConstraint EOF
+            {
+             before(grammarAccess.getOclConstraintRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint1383);
+            ruleOclConstraint();
+
+            state._fsp--;
+
+             after(grammarAccess.getOclConstraintRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOclConstraint1390); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleOclConstraint"
+
+
+    // $ANTLR start "ruleOclConstraint"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:687:1: ruleOclConstraint : ( ( rule__OclConstraint__Group__0 ) ) ;
+    public final void ruleOclConstraint() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:691:2: ( ( ( rule__OclConstraint__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:692:1: ( ( rule__OclConstraint__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:692:1: ( ( rule__OclConstraint__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:693:1: ( rule__OclConstraint__Group__0 )
+            {
+             before(grammarAccess.getOclConstraintAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:694:1: ( rule__OclConstraint__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:694:2: rule__OclConstraint__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__0_in_ruleOclConstraint1416);
+            rule__OclConstraint__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOclConstraintAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleOclConstraint"
+
+
+    // $ANTLR start "entryRuleAdaptationScope"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:706:1: entryRuleAdaptationScope : ruleAdaptationScope EOF ;
+    public final void entryRuleAdaptationScope() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:707:1: ( ruleAdaptationScope EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:708:1: ruleAdaptationScope EOF
+            {
+             before(grammarAccess.getAdaptationScopeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope1443);
+            ruleAdaptationScope();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationScopeRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationScope1450); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAdaptationScope"
+
+
+    // $ANTLR start "ruleAdaptationScope"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:715:1: ruleAdaptationScope : ( 'AdaptationScope' ) ;
+    public final void ruleAdaptationScope() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:719:2: ( ( 'AdaptationScope' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:720:1: ( 'AdaptationScope' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:720:1: ( 'AdaptationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:721:1: 'AdaptationScope'
+            {
+             before(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
+            match(input,11,FollowSets000.FOLLOW_11_in_ruleAdaptationScope1477); 
+             after(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAdaptationScope"
+
+
+    // $ANTLR start "entryRuleAdaptationDirection"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:736:1: entryRuleAdaptationDirection : ruleAdaptationDirection EOF ;
+    public final void entryRuleAdaptationDirection() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:737:1: ( ruleAdaptationDirection EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:738:1: ruleAdaptationDirection EOF
+            {
+             before(grammarAccess.getAdaptationDirectionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection1505);
+            ruleAdaptationDirection();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationDirectionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationDirection1512); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleAdaptationDirection"
+
+
+    // $ANTLR start "ruleAdaptationDirection"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:745:1: ruleAdaptationDirection : ( 'AdaptationDirection' ) ;
+    public final void ruleAdaptationDirection() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:749:2: ( ( 'AdaptationDirection' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:750:1: ( 'AdaptationDirection' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:750:1: ( 'AdaptationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:751:1: 'AdaptationDirection'
+            {
+             before(grammarAccess.getAdaptationDirectionAccess().getAdaptationDirectionKeyword()); 
+            match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationDirection1539); 
+             after(grammarAccess.getAdaptationDirectionAccess().getAdaptationDirectionKeyword()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleAdaptationDirection"
+
+
+    // $ANTLR start "entryRuleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:766:1: entryRuleObjective : ruleObjective EOF ;
+    public final void entryRuleObjective() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:767:1: ( ruleObjective EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:768:1: ruleObjective EOF
+            {
+             before(grammarAccess.getObjectiveRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_entryRuleObjective1567);
+            ruleObjective();
+
+            state._fsp--;
+
+             after(grammarAccess.getObjectiveRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjective1574); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleObjective"
+
+
+    // $ANTLR start "ruleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:775:1: ruleObjective : ( ( rule__Objective__Group__0 ) ) ;
+    public final void ruleObjective() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:779:2: ( ( ( rule__Objective__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:780:1: ( ( rule__Objective__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:780:1: ( ( rule__Objective__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:781:1: ( rule__Objective__Group__0 )
+            {
+             before(grammarAccess.getObjectiveAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:782:1: ( rule__Objective__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:782:2: rule__Objective__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__0_in_ruleObjective1600);
+            rule__Objective__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getObjectiveAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleObjective"
+
+
+    // $ANTLR start "entryRuleEvent"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:794:1: entryRuleEvent : ruleEvent EOF ;
+    public final void entryRuleEvent() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:795:1: ( ruleEvent EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:796:1: ruleEvent EOF
+            {
+             before(grammarAccess.getEventRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_entryRuleEvent1627);
+            ruleEvent();
+
+            state._fsp--;
+
+             after(grammarAccess.getEventRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvent1634); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleEvent"
+
+
+    // $ANTLR start "ruleEvent"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:803:1: ruleEvent : ( ( rule__Event__Group__0 ) ) ;
+    public final void ruleEvent() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:807:2: ( ( ( rule__Event__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:808:1: ( ( rule__Event__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:808:1: ( ( rule__Event__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:809:1: ( rule__Event__Group__0 )
+            {
+             before(grammarAccess.getEventAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:810:1: ( rule__Event__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:810:2: rule__Event__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__0_in_ruleEvent1660);
+            rule__Event__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getEventAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleEvent"
+
+
+    // $ANTLR start "entryRuleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:822:1: entryRuleWeightedTactic : ruleWeightedTactic EOF ;
+    public final void entryRuleWeightedTactic() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:823:1: ( ruleWeightedTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:824:1: ruleWeightedTactic EOF
+            {
+             before(grammarAccess.getWeightedTacticRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic1687);
+            ruleWeightedTactic();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedTactic1694); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleWeightedTactic"
+
+
+    // $ANTLR start "ruleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:831:1: ruleWeightedTactic : ( ( rule__WeightedTactic__Group__0 ) ) ;
+    public final void ruleWeightedTactic() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:835:2: ( ( ( rule__WeightedTactic__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:836:1: ( ( rule__WeightedTactic__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:836:1: ( ( rule__WeightedTactic__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:837:1: ( rule__WeightedTactic__Group__0 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:838:1: ( rule__WeightedTactic__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:838:2: rule__WeightedTactic__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__0_in_ruleWeightedTactic1720);
+            rule__WeightedTactic__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleWeightedTactic"
+
+
+    // $ANTLR start "entryRuleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:850:1: entryRuleWeightingFunction : ruleWeightingFunction EOF ;
+    public final void entryRuleWeightingFunction() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:851:1: ( ruleWeightingFunction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:852:1: ruleWeightingFunction EOF
+            {
+             before(grammarAccess.getWeightingFunctionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction1747);
+            ruleWeightingFunction();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightingFunctionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightingFunction1754); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleWeightingFunction"
+
+
+    // $ANTLR start "ruleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:859:1: ruleWeightingFunction : ( ( rule__WeightingFunction__Group__0 ) ) ;
+    public final void ruleWeightingFunction() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:863:2: ( ( ( rule__WeightingFunction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:864:1: ( ( rule__WeightingFunction__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:864:1: ( ( rule__WeightingFunction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:865:1: ( rule__WeightingFunction__Group__0 )
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:866:1: ( rule__WeightingFunction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:866:2: rule__WeightingFunction__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__0_in_ruleWeightingFunction1780);
+            rule__WeightingFunction__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleWeightingFunction"
+
+
+    // $ANTLR start "entryRuleSpecification"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:878:1: entryRuleSpecification : ruleSpecification EOF ;
+    public final void entryRuleSpecification() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:879:1: ( ruleSpecification EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:880:1: ruleSpecification EOF
+            {
+             before(grammarAccess.getSpecificationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSpecification_in_entryRuleSpecification1807);
+            ruleSpecification();
+
+            state._fsp--;
+
+             after(grammarAccess.getSpecificationRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSpecification1814); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleSpecification"
+
+
+    // $ANTLR start "ruleSpecification"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:887:1: ruleSpecification : ( ( rule__Specification__Group__0 ) ) ;
+    public final void ruleSpecification() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:891:2: ( ( ( rule__Specification__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:892:1: ( ( rule__Specification__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:892:1: ( ( rule__Specification__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:893:1: ( rule__Specification__Group__0 )
+            {
+             before(grammarAccess.getSpecificationAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:894:1: ( rule__Specification__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:894:2: rule__Specification__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Specification__Group__0_in_ruleSpecification1840);
+            rule__Specification__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSpecificationAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleSpecification"
+
+
+    // $ANTLR start "entryRuleRelationalOperator"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:908:1: entryRuleRelationalOperator : ruleRelationalOperator EOF ;
+    public final void entryRuleRelationalOperator() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:909:1: ( ruleRelationalOperator EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:910:1: ruleRelationalOperator EOF
+            {
+             before(grammarAccess.getRelationalOperatorRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleRelationalOperator_in_entryRuleRelationalOperator1869);
+            ruleRelationalOperator();
+
+            state._fsp--;
+
+             after(grammarAccess.getRelationalOperatorRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRelationalOperator1876); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleRelationalOperator"
+
+
+    // $ANTLR start "ruleRelationalOperator"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:917:1: ruleRelationalOperator : ( 'RelationalOperator' ) ;
+    public final void ruleRelationalOperator() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:921:2: ( ( 'RelationalOperator' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:922:1: ( 'RelationalOperator' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:922:1: ( 'RelationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:923:1: 'RelationalOperator'
+            {
+             before(grammarAccess.getRelationalOperatorAccess().getRelationalOperatorKeyword()); 
+            match(input,13,FollowSets000.FOLLOW_13_in_ruleRelationalOperator1903); 
+             after(grammarAccess.getRelationalOperatorAccess().getRelationalOperatorKeyword()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleRelationalOperator"
+
+
+    // $ANTLR start "entryRuleEDate"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:942:1: entryRuleEDate : ruleEDate EOF ;
+    public final void entryRuleEDate() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:943:1: ( ruleEDate EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:944:1: ruleEDate EOF
+            {
+             before(grammarAccess.getEDateRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDate_in_entryRuleEDate1935);
+            ruleEDate();
+
+            state._fsp--;
+
+             after(grammarAccess.getEDateRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDate1942); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleEDate"
+
+
+    // $ANTLR start "ruleEDate"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:951:1: ruleEDate : ( 'EDate' ) ;
+    public final void ruleEDate() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:955:2: ( ( 'EDate' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:956:1: ( 'EDate' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:956:1: ( 'EDate' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:957:1: 'EDate'
+            {
+             before(grammarAccess.getEDateAccess().getEDateKeyword()); 
+            match(input,14,FollowSets000.FOLLOW_14_in_ruleEDate1969); 
+             after(grammarAccess.getEDateAccess().getEDateKeyword()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleEDate"
+
+
+    // $ANTLR start "entryRuleMetricValue"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:972:1: entryRuleMetricValue : ruleMetricValue EOF ;
+    public final void entryRuleMetricValue() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:973:1: ( ruleMetricValue EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:974:1: ruleMetricValue EOF
+            {
+             before(grammarAccess.getMetricValueRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleMetricValue_in_entryRuleMetricValue1997);
+            ruleMetricValue();
+
+            state._fsp--;
+
+             after(grammarAccess.getMetricValueRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMetricValue2004); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleMetricValue"
+
+
+    // $ANTLR start "ruleMetricValue"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:981:1: ruleMetricValue : ( ( rule__MetricValue__Group__0 ) ) ;
+    public final void ruleMetricValue() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:985:2: ( ( ( rule__MetricValue__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:986:1: ( ( rule__MetricValue__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:986:1: ( ( rule__MetricValue__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:987:1: ( rule__MetricValue__Group__0 )
+            {
+             before(grammarAccess.getMetricValueAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:988:1: ( rule__MetricValue__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:988:2: rule__MetricValue__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__0_in_ruleMetricValue2030);
+            rule__MetricValue__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleMetricValue"
+
+
+    // $ANTLR start "entryRuleWeightedMetric"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1002:1: entryRuleWeightedMetric : ruleWeightedMetric EOF ;
+    public final void entryRuleWeightedMetric() throws RecognitionException {
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1003:1: ( ruleWeightedMetric EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1004:1: ruleWeightedMetric EOF
+            {
+             before(grammarAccess.getWeightedMetricRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric2059);
+            ruleWeightedMetric();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedMetricRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedMetric2066); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleWeightedMetric"
+
+
+    // $ANTLR start "ruleWeightedMetric"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1011:1: ruleWeightedMetric : ( ( rule__WeightedMetric__Group__0 ) ) ;
+    public final void ruleWeightedMetric() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1015:2: ( ( ( rule__WeightedMetric__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1016:1: ( ( rule__WeightedMetric__Group__0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1016:1: ( ( rule__WeightedMetric__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1017:1: ( rule__WeightedMetric__Group__0 )
+            {
+             before(grammarAccess.getWeightedMetricAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1018:1: ( rule__WeightedMetric__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1018:2: rule__WeightedMetric__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__0_in_ruleWeightedMetric2092);
+            rule__WeightedMetric__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleWeightedMetric"
+
+
+    // $ANTLR start "rule__AbstractControlFlowElement__Alternatives"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1031:1: rule__AbstractControlFlowElement__Alternatives : ( ( ruleStartAction ) | ( ruleStopAction ) | ( ruleLoopAction ) | ( ruleBranchAction ) | ( ruleActionReference ) );
+    public final void rule__AbstractControlFlowElement__Alternatives() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1035:1: ( ( ruleStartAction ) | ( ruleStopAction ) | ( ruleLoopAction ) | ( ruleBranchAction ) | ( ruleActionReference ) )
+            int alt1=5;
+            switch ( input.LA(1) ) {
+            case 49:
+                {
+                alt1=1;
+                }
+                break;
+            case 52:
+                {
+                alt1=2;
+                }
+                break;
+            case 53:
+                {
+                alt1=3;
+                }
+                break;
+            case 56:
+                {
+                alt1=4;
+                }
+                break;
+            case 61:
+                {
+                alt1=5;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt1) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1036:1: ( ruleStartAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1036:1: ( ruleStartAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1037:1: ruleStartAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_rule__AbstractControlFlowElement__Alternatives2129);
+                    ruleStartAction();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1042:6: ( ruleStopAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1042:6: ( ruleStopAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1043:1: ruleStopAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_rule__AbstractControlFlowElement__Alternatives2146);
+                    ruleStopAction();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1048:6: ( ruleLoopAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1048:6: ( ruleLoopAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1049:1: ruleLoopAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_rule__AbstractControlFlowElement__Alternatives2163);
+                    ruleLoopAction();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 4 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1054:6: ( ruleBranchAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1054:6: ( ruleBranchAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1055:1: ruleBranchAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_rule__AbstractControlFlowElement__Alternatives2180);
+                    ruleBranchAction();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 5 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1060:6: ( ruleActionReference )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1060:6: ( ruleActionReference )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1061:1: ruleActionReference
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_rule__AbstractControlFlowElement__Alternatives2197);
+                    ruleActionReference();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AbstractControlFlowElement__Alternatives"
+
+
+    // $ANTLR start "rule__VariationType__Alternatives"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1071:1: rule__VariationType__Alternatives : ( ( rulePropertyRange ) | ( ruleSetOfConfigurations ) );
+    public final void rule__VariationType__Alternatives() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1075:1: ( ( rulePropertyRange ) | ( ruleSetOfConfigurations ) )
+            int alt2=2;
+            int LA2_0 = input.LA(1);
+
+            if ( (LA2_0==74) ) {
+                alt2=1;
+            }
+            else if ( (LA2_0==77) ) {
+                alt2=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 2, 0, input);
+
+                throw nvae;
+            }
+            switch (alt2) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1076:1: ( rulePropertyRange )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1076:1: ( rulePropertyRange )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1077:1: rulePropertyRange
+                    {
+                     before(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); 
+                    pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_rule__VariationType__Alternatives2229);
+                    rulePropertyRange();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1082:6: ( ruleSetOfConfigurations )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1082:6: ( ruleSetOfConfigurations )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1083:1: ruleSetOfConfigurations
+                    {
+                     before(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_rule__VariationType__Alternatives2246);
+                    ruleSetOfConfigurations();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__VariationType__Alternatives"
+
+
+    // $ANTLR start "rule__EString__Alternatives"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1093:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
+    public final void rule__EString__Alternatives() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1097:1: ( ( RULE_STRING ) | ( RULE_ID ) )
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0==RULE_STRING) ) {
+                alt3=1;
+            }
+            else if ( (LA3_0==RULE_ID) ) {
+                alt3=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 3, 0, input);
+
+                throw nvae;
+            }
+            switch (alt3) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1098:1: ( RULE_STRING )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1098:1: ( RULE_STRING )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1099:1: RULE_STRING
+                    {
+                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives2278); 
+                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1104:6: ( RULE_ID )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1104:6: ( RULE_ID )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1105:1: RULE_ID
+                    {
+                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives2295); 
+                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EString__Alternatives"
+
+
+    // $ANTLR start "rule__EDouble__Alternatives_4_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1115:1: rule__EDouble__Alternatives_4_0 : ( ( 'E' ) | ( 'e' ) );
+    public final void rule__EDouble__Alternatives_4_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1119:1: ( ( 'E' ) | ( 'e' ) )
+            int alt4=2;
+            int LA4_0 = input.LA(1);
+
+            if ( (LA4_0==15) ) {
+                alt4=1;
+            }
+            else if ( (LA4_0==16) ) {
+                alt4=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 4, 0, input);
+
+                throw nvae;
+            }
+            switch (alt4) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1120:1: ( 'E' )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1120:1: ( 'E' )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1121:1: 'E'
+                    {
+                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
+                    match(input,15,FollowSets000.FOLLOW_15_in_rule__EDouble__Alternatives_4_02328); 
+                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1128:6: ( 'e' )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1128:6: ( 'e' )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1129:1: 'e'
+                    {
+                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
+                    match(input,16,FollowSets000.FOLLOW_16_in_rule__EDouble__Alternatives_4_02348); 
+                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Alternatives_4_0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1143:1: rule__AdaptationProcess__Group__0 : rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1 ;
+    public final void rule__AdaptationProcess__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1147:1: ( rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1148:2: rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__0__Impl_in_rule__AdaptationProcess__Group__02380);
+            rule__AdaptationProcess__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__1_in_rule__AdaptationProcess__Group__02383);
+            rule__AdaptationProcess__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1155:1: rule__AdaptationProcess__Group__0__Impl : ( 'AdaptationProcess' ) ;
+    public final void rule__AdaptationProcess__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1159:1: ( ( 'AdaptationProcess' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1160:1: ( 'AdaptationProcess' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1160:1: ( 'AdaptationProcess' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1161:1: 'AdaptationProcess'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); 
+            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationProcess__Group__0__Impl2411); 
+             after(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1174:1: rule__AdaptationProcess__Group__1 : rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2 ;
+    public final void rule__AdaptationProcess__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1178:1: ( rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1179:2: rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__1__Impl_in_rule__AdaptationProcess__Group__12442);
+            rule__AdaptationProcess__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__2_in_rule__AdaptationProcess__Group__12445);
+            rule__AdaptationProcess__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1186:1: rule__AdaptationProcess__Group__1__Impl : ( ( rule__AdaptationProcess__IdAssignment_1 ) ) ;
+    public final void rule__AdaptationProcess__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1190:1: ( ( ( rule__AdaptationProcess__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1191:1: ( ( rule__AdaptationProcess__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1191:1: ( ( rule__AdaptationProcess__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1192:1: ( rule__AdaptationProcess__IdAssignment_1 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1193:1: ( rule__AdaptationProcess__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1193:2: rule__AdaptationProcess__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__IdAssignment_1_in_rule__AdaptationProcess__Group__1__Impl2472);
+            rule__AdaptationProcess__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1203:1: rule__AdaptationProcess__Group__2 : rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3 ;
+    public final void rule__AdaptationProcess__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1207:1: ( rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1208:2: rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__2__Impl_in_rule__AdaptationProcess__Group__22502);
+            rule__AdaptationProcess__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__3_in_rule__AdaptationProcess__Group__22505);
+            rule__AdaptationProcess__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__2"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1215:1: rule__AdaptationProcess__Group__2__Impl : ( '{' ) ;
+    public final void rule__AdaptationProcess__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1219:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1220:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1220:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1221:1: '{'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationProcess__Group__2__Impl2533); 
+             after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__2__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1234:1: rule__AdaptationProcess__Group__3 : rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4 ;
+    public final void rule__AdaptationProcess__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1238:1: ( rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1239:2: rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__3__Impl_in_rule__AdaptationProcess__Group__32564);
+            rule__AdaptationProcess__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__4_in_rule__AdaptationProcess__Group__32567);
+            rule__AdaptationProcess__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__3"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1246:1: rule__AdaptationProcess__Group__3__Impl : ( 'name' ) ;
+    public final void rule__AdaptationProcess__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1250:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1251:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1251:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1252:1: 'name'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__AdaptationProcess__Group__3__Impl2595); 
+             after(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__3__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1265:1: rule__AdaptationProcess__Group__4 : rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5 ;
+    public final void rule__AdaptationProcess__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1269:1: ( rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1270:2: rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__4__Impl_in_rule__AdaptationProcess__Group__42626);
+            rule__AdaptationProcess__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__5_in_rule__AdaptationProcess__Group__42629);
+            rule__AdaptationProcess__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__4"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1277:1: rule__AdaptationProcess__Group__4__Impl : ( ( rule__AdaptationProcess__NameAssignment_4 ) ) ;
+    public final void rule__AdaptationProcess__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1281:1: ( ( ( rule__AdaptationProcess__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1282:1: ( ( rule__AdaptationProcess__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1282:1: ( ( rule__AdaptationProcess__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1283:1: ( rule__AdaptationProcess__NameAssignment_4 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1284:1: ( rule__AdaptationProcess__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1284:2: rule__AdaptationProcess__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__NameAssignment_4_in_rule__AdaptationProcess__Group__4__Impl2656);
+            rule__AdaptationProcess__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__4__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1294:1: rule__AdaptationProcess__Group__5 : rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6 ;
+    public final void rule__AdaptationProcess__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1298:1: ( rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1299:2: rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__5__Impl_in_rule__AdaptationProcess__Group__52686);
+            rule__AdaptationProcess__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__6_in_rule__AdaptationProcess__Group__52689);
+            rule__AdaptationProcess__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__5"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1306:1: rule__AdaptationProcess__Group__5__Impl : ( 'tactics' ) ;
+    public final void rule__AdaptationProcess__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1310:1: ( ( 'tactics' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1311:1: ( 'tactics' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1311:1: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1312:1: 'tactics'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group__5__Impl2717); 
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__5__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1325:1: rule__AdaptationProcess__Group__6 : rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7 ;
+    public final void rule__AdaptationProcess__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1329:1: ( rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1330:2: rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__6__Impl_in_rule__AdaptationProcess__Group__62748);
+            rule__AdaptationProcess__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__7_in_rule__AdaptationProcess__Group__62751);
+            rule__AdaptationProcess__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__6"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1337:1: rule__AdaptationProcess__Group__6__Impl : ( '{' ) ;
+    public final void rule__AdaptationProcess__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1341:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1342:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1342:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1343:1: '{'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationProcess__Group__6__Impl2779); 
+             after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__6__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1356:1: rule__AdaptationProcess__Group__7 : rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8 ;
+    public final void rule__AdaptationProcess__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1360:1: ( rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1361:2: rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__7__Impl_in_rule__AdaptationProcess__Group__72810);
+            rule__AdaptationProcess__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__8_in_rule__AdaptationProcess__Group__72813);
+            rule__AdaptationProcess__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__7"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1368:1: rule__AdaptationProcess__Group__7__Impl : ( ( rule__AdaptationProcess__TacticsAssignment_7 ) ) ;
+    public final void rule__AdaptationProcess__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1372:1: ( ( ( rule__AdaptationProcess__TacticsAssignment_7 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1373:1: ( ( rule__AdaptationProcess__TacticsAssignment_7 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1373:1: ( ( rule__AdaptationProcess__TacticsAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1374:1: ( rule__AdaptationProcess__TacticsAssignment_7 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1375:1: ( rule__AdaptationProcess__TacticsAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1375:2: rule__AdaptationProcess__TacticsAssignment_7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__TacticsAssignment_7_in_rule__AdaptationProcess__Group__7__Impl2840);
+            rule__AdaptationProcess__TacticsAssignment_7();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__7__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1385:1: rule__AdaptationProcess__Group__8 : rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9 ;
+    public final void rule__AdaptationProcess__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1389:1: ( rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1390:2: rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__8__Impl_in_rule__AdaptationProcess__Group__82870);
+            rule__AdaptationProcess__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__9_in_rule__AdaptationProcess__Group__82873);
+            rule__AdaptationProcess__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__8"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1397:1: rule__AdaptationProcess__Group__8__Impl : ( ( rule__AdaptationProcess__Group_8__0 )* ) ;
+    public final void rule__AdaptationProcess__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1401:1: ( ( ( rule__AdaptationProcess__Group_8__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1402:1: ( ( rule__AdaptationProcess__Group_8__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1402:1: ( ( rule__AdaptationProcess__Group_8__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1403:1: ( rule__AdaptationProcess__Group_8__0 )*
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1404:1: ( rule__AdaptationProcess__Group_8__0 )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
+
+                if ( (LA5_0==25) ) {
+                    alt5=1;
+                }
+
+
+                switch (alt5) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1404:2: rule__AdaptationProcess__Group_8__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__0_in_rule__AdaptationProcess__Group__8__Impl2900);
+            	    rule__AdaptationProcess__Group_8__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop5;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__8__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1414:1: rule__AdaptationProcess__Group__9 : rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10 ;
+    public final void rule__AdaptationProcess__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1418:1: ( rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1419:2: rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__9__Impl_in_rule__AdaptationProcess__Group__92931);
+            rule__AdaptationProcess__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__10_in_rule__AdaptationProcess__Group__92934);
+            rule__AdaptationProcess__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__9"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1426:1: rule__AdaptationProcess__Group__9__Impl : ( '}' ) ;
+    public final void rule__AdaptationProcess__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1430:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1431:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1431:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1432:1: '}'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group__9__Impl2962); 
+             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__9__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1445:1: rule__AdaptationProcess__Group__10 : rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11 ;
+    public final void rule__AdaptationProcess__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1449:1: ( rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1450:2: rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__10__Impl_in_rule__AdaptationProcess__Group__102993);
+            rule__AdaptationProcess__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__11_in_rule__AdaptationProcess__Group__102996);
+            rule__AdaptationProcess__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__10"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1457:1: rule__AdaptationProcess__Group__10__Impl : ( 'actions' ) ;
+    public final void rule__AdaptationProcess__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1461:1: ( ( 'actions' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1462:1: ( 'actions' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1462:1: ( 'actions' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1463:1: 'actions'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); 
+            match(input,22,FollowSets000.FOLLOW_22_in_rule__AdaptationProcess__Group__10__Impl3024); 
+             after(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__10__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1476:1: rule__AdaptationProcess__Group__11 : rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12 ;
+    public final void rule__AdaptationProcess__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1480:1: ( rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1481:2: rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__11__Impl_in_rule__AdaptationProcess__Group__113055);
+            rule__AdaptationProcess__Group__11__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__12_in_rule__AdaptationProcess__Group__113058);
+            rule__AdaptationProcess__Group__12();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__11"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1488:1: rule__AdaptationProcess__Group__11__Impl : ( '{' ) ;
+    public final void rule__AdaptationProcess__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1492:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1493:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1493:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1494:1: '{'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationProcess__Group__11__Impl3086); 
+             after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__11__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1507:1: rule__AdaptationProcess__Group__12 : rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13 ;
+    public final void rule__AdaptationProcess__Group__12() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1511:1: ( rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1512:2: rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__12__Impl_in_rule__AdaptationProcess__Group__123117);
+            rule__AdaptationProcess__Group__12__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__13_in_rule__AdaptationProcess__Group__123120);
+            rule__AdaptationProcess__Group__13();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__12"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__12__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1519:1: rule__AdaptationProcess__Group__12__Impl : ( ( rule__AdaptationProcess__ActionsAssignment_12 ) ) ;
+    public final void rule__AdaptationProcess__Group__12__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1523:1: ( ( ( rule__AdaptationProcess__ActionsAssignment_12 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1524:1: ( ( rule__AdaptationProcess__ActionsAssignment_12 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1524:1: ( ( rule__AdaptationProcess__ActionsAssignment_12 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1525:1: ( rule__AdaptationProcess__ActionsAssignment_12 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1526:1: ( rule__AdaptationProcess__ActionsAssignment_12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1526:2: rule__AdaptationProcess__ActionsAssignment_12
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ActionsAssignment_12_in_rule__AdaptationProcess__Group__12__Impl3147);
+            rule__AdaptationProcess__ActionsAssignment_12();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__12__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__13"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1536:1: rule__AdaptationProcess__Group__13 : rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14 ;
+    public final void rule__AdaptationProcess__Group__13() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1540:1: ( rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1541:2: rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__13__Impl_in_rule__AdaptationProcess__Group__133177);
+            rule__AdaptationProcess__Group__13__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__14_in_rule__AdaptationProcess__Group__133180);
+            rule__AdaptationProcess__Group__14();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__13"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__13__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1548:1: rule__AdaptationProcess__Group__13__Impl : ( ( rule__AdaptationProcess__Group_13__0 )* ) ;
+    public final void rule__AdaptationProcess__Group__13__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1552:1: ( ( ( rule__AdaptationProcess__Group_13__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1553:1: ( ( rule__AdaptationProcess__Group_13__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1553:1: ( ( rule__AdaptationProcess__Group_13__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1554:1: ( rule__AdaptationProcess__Group_13__0 )*
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_13()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1555:1: ( rule__AdaptationProcess__Group_13__0 )*
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
+
+                if ( (LA6_0==25) ) {
+                    alt6=1;
+                }
+
+
+                switch (alt6) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1555:2: rule__AdaptationProcess__Group_13__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__0_in_rule__AdaptationProcess__Group__13__Impl3207);
+            	    rule__AdaptationProcess__Group_13__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop6;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_13()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__13__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__14"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1565:1: rule__AdaptationProcess__Group__14 : rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15 ;
+    public final void rule__AdaptationProcess__Group__14() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1569:1: ( rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1570:2: rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__14__Impl_in_rule__AdaptationProcess__Group__143238);
+            rule__AdaptationProcess__Group__14__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__15_in_rule__AdaptationProcess__Group__143241);
+            rule__AdaptationProcess__Group__15();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__14"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__14__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1577:1: rule__AdaptationProcess__Group__14__Impl : ( '}' ) ;
+    public final void rule__AdaptationProcess__Group__14__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1581:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1582:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1582:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1583:1: '}'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group__14__Impl3269); 
+             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__14__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1596:1: rule__AdaptationProcess__Group__15 : rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16 ;
+    public final void rule__AdaptationProcess__Group__15() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1600:1: ( rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1601:2: rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__15__Impl_in_rule__AdaptationProcess__Group__153300);
+            rule__AdaptationProcess__Group__15__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__16_in_rule__AdaptationProcess__Group__153303);
+            rule__AdaptationProcess__Group__16();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__15"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__15__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1608:1: rule__AdaptationProcess__Group__15__Impl : ( 'strategies' ) ;
+    public final void rule__AdaptationProcess__Group__15__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1612:1: ( ( 'strategies' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1613:1: ( 'strategies' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1613:1: ( 'strategies' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1614:1: 'strategies'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__AdaptationProcess__Group__15__Impl3331); 
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__15__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__16"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1627:1: rule__AdaptationProcess__Group__16 : rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17 ;
+    public final void rule__AdaptationProcess__Group__16() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1631:1: ( rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1632:2: rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__16__Impl_in_rule__AdaptationProcess__Group__163362);
+            rule__AdaptationProcess__Group__16__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__17_in_rule__AdaptationProcess__Group__163365);
+            rule__AdaptationProcess__Group__17();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__16"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__16__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1639:1: rule__AdaptationProcess__Group__16__Impl : ( '{' ) ;
+    public final void rule__AdaptationProcess__Group__16__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1643:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1644:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1644:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1645:1: '{'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationProcess__Group__16__Impl3393); 
+             after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__16__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__17"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1658:1: rule__AdaptationProcess__Group__17 : rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18 ;
+    public final void rule__AdaptationProcess__Group__17() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1662:1: ( rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1663:2: rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__17__Impl_in_rule__AdaptationProcess__Group__173424);
+            rule__AdaptationProcess__Group__17__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__18_in_rule__AdaptationProcess__Group__173427);
+            rule__AdaptationProcess__Group__18();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__17"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__17__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1670:1: rule__AdaptationProcess__Group__17__Impl : ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) ) ;
+    public final void rule__AdaptationProcess__Group__17__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1674:1: ( ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1675:1: ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1675:1: ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1676:1: ( rule__AdaptationProcess__StrategiesAssignment_17 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1677:1: ( rule__AdaptationProcess__StrategiesAssignment_17 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1677:2: rule__AdaptationProcess__StrategiesAssignment_17
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__StrategiesAssignment_17_in_rule__AdaptationProcess__Group__17__Impl3454);
+            rule__AdaptationProcess__StrategiesAssignment_17();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__17__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__18"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1687:1: rule__AdaptationProcess__Group__18 : rule__AdaptationProcess__Group__18__Impl rule__AdaptationProcess__Group__19 ;
+    public final void rule__AdaptationProcess__Group__18() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1691:1: ( rule__AdaptationProcess__Group__18__Impl rule__AdaptationProcess__Group__19 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1692:2: rule__AdaptationProcess__Group__18__Impl rule__AdaptationProcess__Group__19
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__18__Impl_in_rule__AdaptationProcess__Group__183484);
+            rule__AdaptationProcess__Group__18__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__19_in_rule__AdaptationProcess__Group__183487);
+            rule__AdaptationProcess__Group__19();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__18"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__18__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1699:1: rule__AdaptationProcess__Group__18__Impl : ( ( rule__AdaptationProcess__Group_18__0 )* ) ;
+    public final void rule__AdaptationProcess__Group__18__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1703:1: ( ( ( rule__AdaptationProcess__Group_18__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1704:1: ( ( rule__AdaptationProcess__Group_18__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1704:1: ( ( rule__AdaptationProcess__Group_18__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1705:1: ( rule__AdaptationProcess__Group_18__0 )*
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_18()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1706:1: ( rule__AdaptationProcess__Group_18__0 )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+
+                if ( (LA7_0==25) ) {
+                    alt7=1;
+                }
+
+
+                switch (alt7) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1706:2: rule__AdaptationProcess__Group_18__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__0_in_rule__AdaptationProcess__Group__18__Impl3514);
+            	    rule__AdaptationProcess__Group_18__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_18()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__18__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__19"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1716:1: rule__AdaptationProcess__Group__19 : rule__AdaptationProcess__Group__19__Impl rule__AdaptationProcess__Group__20 ;
+    public final void rule__AdaptationProcess__Group__19() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1720:1: ( rule__AdaptationProcess__Group__19__Impl rule__AdaptationProcess__Group__20 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1721:2: rule__AdaptationProcess__Group__19__Impl rule__AdaptationProcess__Group__20
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__19__Impl_in_rule__AdaptationProcess__Group__193545);
+            rule__AdaptationProcess__Group__19__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__20_in_rule__AdaptationProcess__Group__193548);
+            rule__AdaptationProcess__Group__20();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__19"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__19__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1728:1: rule__AdaptationProcess__Group__19__Impl : ( '}' ) ;
+    public final void rule__AdaptationProcess__Group__19__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1732:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1733:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1733:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1734:1: '}'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group__19__Impl3576); 
+             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__19__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__20"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1747:1: rule__AdaptationProcess__Group__20 : rule__AdaptationProcess__Group__20__Impl rule__AdaptationProcess__Group__21 ;
+    public final void rule__AdaptationProcess__Group__20() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1751:1: ( rule__AdaptationProcess__Group__20__Impl rule__AdaptationProcess__Group__21 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1752:2: rule__AdaptationProcess__Group__20__Impl rule__AdaptationProcess__Group__21
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__20__Impl_in_rule__AdaptationProcess__Group__203607);
+            rule__AdaptationProcess__Group__20__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__21_in_rule__AdaptationProcess__Group__203610);
+            rule__AdaptationProcess__Group__21();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__20"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__20__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1759:1: rule__AdaptationProcess__Group__20__Impl : ( ( rule__AdaptationProcess__Group_20__0 )? ) ;
+    public final void rule__AdaptationProcess__Group__20__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1763:1: ( ( ( rule__AdaptationProcess__Group_20__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1764:1: ( ( rule__AdaptationProcess__Group_20__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1764:1: ( ( rule__AdaptationProcess__Group_20__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1765:1: ( rule__AdaptationProcess__Group_20__0 )?
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_20()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1766:1: ( rule__AdaptationProcess__Group_20__0 )?
+            int alt8=2;
+            int LA8_0 = input.LA(1);
+
+            if ( (LA8_0==26) ) {
+                alt8=1;
+            }
+            switch (alt8) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1766:2: rule__AdaptationProcess__Group_20__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__0_in_rule__AdaptationProcess__Group__20__Impl3637);
+                    rule__AdaptationProcess__Group_20__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_20()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__20__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__21"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1776:1: rule__AdaptationProcess__Group__21 : rule__AdaptationProcess__Group__21__Impl rule__AdaptationProcess__Group__22 ;
+    public final void rule__AdaptationProcess__Group__21() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1780:1: ( rule__AdaptationProcess__Group__21__Impl rule__AdaptationProcess__Group__22 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1781:2: rule__AdaptationProcess__Group__21__Impl rule__AdaptationProcess__Group__22
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__21__Impl_in_rule__AdaptationProcess__Group__213668);
+            rule__AdaptationProcess__Group__21__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__22_in_rule__AdaptationProcess__Group__213671);
+            rule__AdaptationProcess__Group__22();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__21"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__21__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1788:1: rule__AdaptationProcess__Group__21__Impl : ( 'goal' ) ;
+    public final void rule__AdaptationProcess__Group__21__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1792:1: ( ( 'goal' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1793:1: ( 'goal' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1793:1: ( 'goal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1794:1: 'goal'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group__21__Impl3699); 
+             after(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__21__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__22"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1807:1: rule__AdaptationProcess__Group__22 : rule__AdaptationProcess__Group__22__Impl rule__AdaptationProcess__Group__23 ;
+    public final void rule__AdaptationProcess__Group__22() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1811:1: ( rule__AdaptationProcess__Group__22__Impl rule__AdaptationProcess__Group__23 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1812:2: rule__AdaptationProcess__Group__22__Impl rule__AdaptationProcess__Group__23
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__22__Impl_in_rule__AdaptationProcess__Group__223730);
+            rule__AdaptationProcess__Group__22__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__23_in_rule__AdaptationProcess__Group__223733);
+            rule__AdaptationProcess__Group__23();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__22"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__22__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1819:1: rule__AdaptationProcess__Group__22__Impl : ( ( rule__AdaptationProcess__GoalAssignment_22 ) ) ;
+    public final void rule__AdaptationProcess__Group__22__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1823:1: ( ( ( rule__AdaptationProcess__GoalAssignment_22 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1824:1: ( ( rule__AdaptationProcess__GoalAssignment_22 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1824:1: ( ( rule__AdaptationProcess__GoalAssignment_22 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1825:1: ( rule__AdaptationProcess__GoalAssignment_22 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1826:1: ( rule__AdaptationProcess__GoalAssignment_22 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1826:2: rule__AdaptationProcess__GoalAssignment_22
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__GoalAssignment_22_in_rule__AdaptationProcess__Group__22__Impl3760);
+            rule__AdaptationProcess__GoalAssignment_22();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__22__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__23"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1836:1: rule__AdaptationProcess__Group__23 : rule__AdaptationProcess__Group__23__Impl rule__AdaptationProcess__Group__24 ;
+    public final void rule__AdaptationProcess__Group__23() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1840:1: ( rule__AdaptationProcess__Group__23__Impl rule__AdaptationProcess__Group__24 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1841:2: rule__AdaptationProcess__Group__23__Impl rule__AdaptationProcess__Group__24
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__23__Impl_in_rule__AdaptationProcess__Group__233790);
+            rule__AdaptationProcess__Group__23__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__24_in_rule__AdaptationProcess__Group__233793);
+            rule__AdaptationProcess__Group__24();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__23"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__23__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1848:1: rule__AdaptationProcess__Group__23__Impl : ( ( rule__AdaptationProcess__ImportDeclarationAssignment_23 )? ) ;
+    public final void rule__AdaptationProcess__Group__23__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1852:1: ( ( ( rule__AdaptationProcess__ImportDeclarationAssignment_23 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1853:1: ( ( rule__AdaptationProcess__ImportDeclarationAssignment_23 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1853:1: ( ( rule__AdaptationProcess__ImportDeclarationAssignment_23 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1854:1: ( rule__AdaptationProcess__ImportDeclarationAssignment_23 )?
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getImportDeclarationAssignment_23()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1855:1: ( rule__AdaptationProcess__ImportDeclarationAssignment_23 )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0==46) ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1855:2: rule__AdaptationProcess__ImportDeclarationAssignment_23
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ImportDeclarationAssignment_23_in_rule__AdaptationProcess__Group__23__Impl3820);
+                    rule__AdaptationProcess__ImportDeclarationAssignment_23();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getImportDeclarationAssignment_23()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__23__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__24"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1865:1: rule__AdaptationProcess__Group__24 : rule__AdaptationProcess__Group__24__Impl ;
+    public final void rule__AdaptationProcess__Group__24() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1869:1: ( rule__AdaptationProcess__Group__24__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1870:2: rule__AdaptationProcess__Group__24__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__24__Impl_in_rule__AdaptationProcess__Group__243851);
+            rule__AdaptationProcess__Group__24__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__24"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group__24__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1876:1: rule__AdaptationProcess__Group__24__Impl : ( '}' ) ;
+    public final void rule__AdaptationProcess__Group__24__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1880:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1881:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1881:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1882:1: '}'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_24()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group__24__Impl3879); 
+             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_24()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group__24__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_8__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1945:1: rule__AdaptationProcess__Group_8__0 : rule__AdaptationProcess__Group_8__0__Impl rule__AdaptationProcess__Group_8__1 ;
+    public final void rule__AdaptationProcess__Group_8__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1949:1: ( rule__AdaptationProcess__Group_8__0__Impl rule__AdaptationProcess__Group_8__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1950:2: rule__AdaptationProcess__Group_8__0__Impl rule__AdaptationProcess__Group_8__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__0__Impl_in_rule__AdaptationProcess__Group_8__03960);
+            rule__AdaptationProcess__Group_8__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__1_in_rule__AdaptationProcess__Group_8__03963);
+            rule__AdaptationProcess__Group_8__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_8__0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_8__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1957:1: rule__AdaptationProcess__Group_8__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_8__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1961:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1962:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1962:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1963:1: ','
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationProcess__Group_8__0__Impl3991); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_8__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_8__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1976:1: rule__AdaptationProcess__Group_8__1 : rule__AdaptationProcess__Group_8__1__Impl ;
+    public final void rule__AdaptationProcess__Group_8__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1980:1: ( rule__AdaptationProcess__Group_8__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1981:2: rule__AdaptationProcess__Group_8__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__1__Impl_in_rule__AdaptationProcess__Group_8__14022);
+            rule__AdaptationProcess__Group_8__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_8__1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_8__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1987:1: rule__AdaptationProcess__Group_8__1__Impl : ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_8__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1991:1: ( ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1992:1: ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1992:1: ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1993:1: ( rule__AdaptationProcess__TacticsAssignment_8_1 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_8_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1994:1: ( rule__AdaptationProcess__TacticsAssignment_8_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:1994:2: rule__AdaptationProcess__TacticsAssignment_8_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__TacticsAssignment_8_1_in_rule__AdaptationProcess__Group_8__1__Impl4049);
+            rule__AdaptationProcess__TacticsAssignment_8_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_8_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_8__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_13__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2008:1: rule__AdaptationProcess__Group_13__0 : rule__AdaptationProcess__Group_13__0__Impl rule__AdaptationProcess__Group_13__1 ;
+    public final void rule__AdaptationProcess__Group_13__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2012:1: ( rule__AdaptationProcess__Group_13__0__Impl rule__AdaptationProcess__Group_13__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2013:2: rule__AdaptationProcess__Group_13__0__Impl rule__AdaptationProcess__Group_13__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__0__Impl_in_rule__AdaptationProcess__Group_13__04083);
+            rule__AdaptationProcess__Group_13__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__1_in_rule__AdaptationProcess__Group_13__04086);
+            rule__AdaptationProcess__Group_13__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_13__0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_13__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2020:1: rule__AdaptationProcess__Group_13__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_13__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2024:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2025:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2025:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2026:1: ','
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationProcess__Group_13__0__Impl4114); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_13__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_13__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2039:1: rule__AdaptationProcess__Group_13__1 : rule__AdaptationProcess__Group_13__1__Impl ;
+    public final void rule__AdaptationProcess__Group_13__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2043:1: ( rule__AdaptationProcess__Group_13__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2044:2: rule__AdaptationProcess__Group_13__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__1__Impl_in_rule__AdaptationProcess__Group_13__14145);
+            rule__AdaptationProcess__Group_13__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_13__1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_13__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2050:1: rule__AdaptationProcess__Group_13__1__Impl : ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_13__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2054:1: ( ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2055:1: ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2055:1: ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2056:1: ( rule__AdaptationProcess__ActionsAssignment_13_1 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2057:1: ( rule__AdaptationProcess__ActionsAssignment_13_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2057:2: rule__AdaptationProcess__ActionsAssignment_13_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ActionsAssignment_13_1_in_rule__AdaptationProcess__Group_13__1__Impl4172);
+            rule__AdaptationProcess__ActionsAssignment_13_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_13__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_18__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2071:1: rule__AdaptationProcess__Group_18__0 : rule__AdaptationProcess__Group_18__0__Impl rule__AdaptationProcess__Group_18__1 ;
+    public final void rule__AdaptationProcess__Group_18__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2075:1: ( rule__AdaptationProcess__Group_18__0__Impl rule__AdaptationProcess__Group_18__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2076:2: rule__AdaptationProcess__Group_18__0__Impl rule__AdaptationProcess__Group_18__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__0__Impl_in_rule__AdaptationProcess__Group_18__04206);
+            rule__AdaptationProcess__Group_18__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__1_in_rule__AdaptationProcess__Group_18__04209);
+            rule__AdaptationProcess__Group_18__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_18__0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_18__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2083:1: rule__AdaptationProcess__Group_18__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_18__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2087:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2088:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2088:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2089:1: ','
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationProcess__Group_18__0__Impl4237); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_18__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_18__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2102:1: rule__AdaptationProcess__Group_18__1 : rule__AdaptationProcess__Group_18__1__Impl ;
+    public final void rule__AdaptationProcess__Group_18__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2106:1: ( rule__AdaptationProcess__Group_18__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2107:2: rule__AdaptationProcess__Group_18__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__1__Impl_in_rule__AdaptationProcess__Group_18__14268);
+            rule__AdaptationProcess__Group_18__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_18__1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_18__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2113:1: rule__AdaptationProcess__Group_18__1__Impl : ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_18__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2117:1: ( ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2118:1: ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2118:1: ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2119:1: ( rule__AdaptationProcess__StrategiesAssignment_18_1 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_18_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2120:1: ( rule__AdaptationProcess__StrategiesAssignment_18_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2120:2: rule__AdaptationProcess__StrategiesAssignment_18_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__StrategiesAssignment_18_1_in_rule__AdaptationProcess__Group_18__1__Impl4295);
+            rule__AdaptationProcess__StrategiesAssignment_18_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_18_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_18__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2134:1: rule__AdaptationProcess__Group_20__0 : rule__AdaptationProcess__Group_20__0__Impl rule__AdaptationProcess__Group_20__1 ;
+    public final void rule__AdaptationProcess__Group_20__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2138:1: ( rule__AdaptationProcess__Group_20__0__Impl rule__AdaptationProcess__Group_20__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2139:2: rule__AdaptationProcess__Group_20__0__Impl rule__AdaptationProcess__Group_20__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__0__Impl_in_rule__AdaptationProcess__Group_20__04329);
+            rule__AdaptationProcess__Group_20__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__1_in_rule__AdaptationProcess__Group_20__04332);
+            rule__AdaptationProcess__Group_20__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2146:1: rule__AdaptationProcess__Group_20__0__Impl : ( 'parameters' ) ;
+    public final void rule__AdaptationProcess__Group_20__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2150:1: ( ( 'parameters' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2151:1: ( 'parameters' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2151:1: ( 'parameters' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2152:1: 'parameters'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0()); 
+            match(input,26,FollowSets000.FOLLOW_26_in_rule__AdaptationProcess__Group_20__0__Impl4360); 
+             after(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2165:1: rule__AdaptationProcess__Group_20__1 : rule__AdaptationProcess__Group_20__1__Impl rule__AdaptationProcess__Group_20__2 ;
+    public final void rule__AdaptationProcess__Group_20__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2169:1: ( rule__AdaptationProcess__Group_20__1__Impl rule__AdaptationProcess__Group_20__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2170:2: rule__AdaptationProcess__Group_20__1__Impl rule__AdaptationProcess__Group_20__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__1__Impl_in_rule__AdaptationProcess__Group_20__14391);
+            rule__AdaptationProcess__Group_20__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__2_in_rule__AdaptationProcess__Group_20__14394);
+            rule__AdaptationProcess__Group_20__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2177:1: rule__AdaptationProcess__Group_20__1__Impl : ( '{' ) ;
+    public final void rule__AdaptationProcess__Group_20__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2181:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2182:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2182:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2183:1: '{'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationProcess__Group_20__1__Impl4422); 
+             after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2196:1: rule__AdaptationProcess__Group_20__2 : rule__AdaptationProcess__Group_20__2__Impl rule__AdaptationProcess__Group_20__3 ;
+    public final void rule__AdaptationProcess__Group_20__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2200:1: ( rule__AdaptationProcess__Group_20__2__Impl rule__AdaptationProcess__Group_20__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2201:2: rule__AdaptationProcess__Group_20__2__Impl rule__AdaptationProcess__Group_20__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__2__Impl_in_rule__AdaptationProcess__Group_20__24453);
+            rule__AdaptationProcess__Group_20__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__3_in_rule__AdaptationProcess__Group_20__24456);
+            rule__AdaptationProcess__Group_20__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__2"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2208:1: rule__AdaptationProcess__Group_20__2__Impl : ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) ) ;
+    public final void rule__AdaptationProcess__Group_20__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2212:1: ( ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2213:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2213:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2214:1: ( rule__AdaptationProcess__ParametersAssignment_20_2 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2215:1: ( rule__AdaptationProcess__ParametersAssignment_20_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2215:2: rule__AdaptationProcess__ParametersAssignment_20_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_2_in_rule__AdaptationProcess__Group_20__2__Impl4483);
+            rule__AdaptationProcess__ParametersAssignment_20_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__2__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2225:1: rule__AdaptationProcess__Group_20__3 : rule__AdaptationProcess__Group_20__3__Impl rule__AdaptationProcess__Group_20__4 ;
+    public final void rule__AdaptationProcess__Group_20__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2229:1: ( rule__AdaptationProcess__Group_20__3__Impl rule__AdaptationProcess__Group_20__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2230:2: rule__AdaptationProcess__Group_20__3__Impl rule__AdaptationProcess__Group_20__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__3__Impl_in_rule__AdaptationProcess__Group_20__34513);
+            rule__AdaptationProcess__Group_20__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__4_in_rule__AdaptationProcess__Group_20__34516);
+            rule__AdaptationProcess__Group_20__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__3"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2237:1: rule__AdaptationProcess__Group_20__3__Impl : ( ( rule__AdaptationProcess__Group_20_3__0 )* ) ;
+    public final void rule__AdaptationProcess__Group_20__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2241:1: ( ( ( rule__AdaptationProcess__Group_20_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2242:1: ( ( rule__AdaptationProcess__Group_20_3__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2242:1: ( ( rule__AdaptationProcess__Group_20_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2243:1: ( rule__AdaptationProcess__Group_20_3__0 )*
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_20_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2244:1: ( rule__AdaptationProcess__Group_20_3__0 )*
+            loop10:
+            do {
+                int alt10=2;
+                int LA10_0 = input.LA(1);
+
+                if ( (LA10_0==25) ) {
+                    alt10=1;
+                }
+
+
+                switch (alt10) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2244:2: rule__AdaptationProcess__Group_20_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__0_in_rule__AdaptationProcess__Group_20__3__Impl4543);
+            	    rule__AdaptationProcess__Group_20_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop10;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_20_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__3__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2254:1: rule__AdaptationProcess__Group_20__4 : rule__AdaptationProcess__Group_20__4__Impl ;
+    public final void rule__AdaptationProcess__Group_20__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2258:1: ( rule__AdaptationProcess__Group_20__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2259:2: rule__AdaptationProcess__Group_20__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__4__Impl_in_rule__AdaptationProcess__Group_20__44574);
+            rule__AdaptationProcess__Group_20__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__4"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2265:1: rule__AdaptationProcess__Group_20__4__Impl : ( '}' ) ;
+    public final void rule__AdaptationProcess__Group_20__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2269:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2270:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2270:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2271:1: '}'
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group_20__4__Impl4602); 
+             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20__4__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2294:1: rule__AdaptationProcess__Group_20_3__0 : rule__AdaptationProcess__Group_20_3__0__Impl rule__AdaptationProcess__Group_20_3__1 ;
+    public final void rule__AdaptationProcess__Group_20_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2298:1: ( rule__AdaptationProcess__Group_20_3__0__Impl rule__AdaptationProcess__Group_20_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2299:2: rule__AdaptationProcess__Group_20_3__0__Impl rule__AdaptationProcess__Group_20_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__0__Impl_in_rule__AdaptationProcess__Group_20_3__04643);
+            rule__AdaptationProcess__Group_20_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__1_in_rule__AdaptationProcess__Group_20_3__04646);
+            rule__AdaptationProcess__Group_20_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20_3__0"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2306:1: rule__AdaptationProcess__Group_20_3__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_20_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2310:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2311:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2311:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2312:1: ','
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationProcess__Group_20_3__0__Impl4674); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20_3__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2325:1: rule__AdaptationProcess__Group_20_3__1 : rule__AdaptationProcess__Group_20_3__1__Impl ;
+    public final void rule__AdaptationProcess__Group_20_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2329:1: ( rule__AdaptationProcess__Group_20_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2330:2: rule__AdaptationProcess__Group_20_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__1__Impl_in_rule__AdaptationProcess__Group_20_3__14705);
+            rule__AdaptationProcess__Group_20_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20_3__1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__Group_20_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2336:1: rule__AdaptationProcess__Group_20_3__1__Impl : ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_20_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2340:1: ( ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2341:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2341:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2342:1: ( rule__AdaptationProcess__ParametersAssignment_20_3_1 )
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2343:1: ( rule__AdaptationProcess__ParametersAssignment_20_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2343:2: rule__AdaptationProcess__ParametersAssignment_20_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_3_1_in_rule__AdaptationProcess__Group_20_3__1__Impl4732);
+            rule__AdaptationProcess__ParametersAssignment_20_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__Group_20_3__1__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2357:1: rule__Tactic__Group__0 : rule__Tactic__Group__0__Impl rule__Tactic__Group__1 ;
+    public final void rule__Tactic__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2361:1: ( rule__Tactic__Group__0__Impl rule__Tactic__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2362:2: rule__Tactic__Group__0__Impl rule__Tactic__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__0__Impl_in_rule__Tactic__Group__04766);
+            rule__Tactic__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__1_in_rule__Tactic__Group__04769);
+            rule__Tactic__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__0"
+
+
+    // $ANTLR start "rule__Tactic__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2369:1: rule__Tactic__Group__0__Impl : ( 'Tactic' ) ;
+    public final void rule__Tactic__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2373:1: ( ( 'Tactic' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2374:1: ( 'Tactic' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2374:1: ( 'Tactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2375:1: 'Tactic'
+            {
+             before(grammarAccess.getTacticAccess().getTacticKeyword_0()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__Tactic__Group__0__Impl4797); 
+             after(grammarAccess.getTacticAccess().getTacticKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2388:1: rule__Tactic__Group__1 : rule__Tactic__Group__1__Impl rule__Tactic__Group__2 ;
+    public final void rule__Tactic__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2392:1: ( rule__Tactic__Group__1__Impl rule__Tactic__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2393:2: rule__Tactic__Group__1__Impl rule__Tactic__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__1__Impl_in_rule__Tactic__Group__14828);
+            rule__Tactic__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__2_in_rule__Tactic__Group__14831);
+            rule__Tactic__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__1"
+
+
+    // $ANTLR start "rule__Tactic__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2400:1: rule__Tactic__Group__1__Impl : ( ( rule__Tactic__IdAssignment_1 ) ) ;
+    public final void rule__Tactic__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2404:1: ( ( ( rule__Tactic__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2405:1: ( ( rule__Tactic__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2405:1: ( ( rule__Tactic__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2406:1: ( rule__Tactic__IdAssignment_1 )
+            {
+             before(grammarAccess.getTacticAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2407:1: ( rule__Tactic__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2407:2: rule__Tactic__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__IdAssignment_1_in_rule__Tactic__Group__1__Impl4858);
+            rule__Tactic__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2417:1: rule__Tactic__Group__2 : rule__Tactic__Group__2__Impl rule__Tactic__Group__3 ;
+    public final void rule__Tactic__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2421:1: ( rule__Tactic__Group__2__Impl rule__Tactic__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2422:2: rule__Tactic__Group__2__Impl rule__Tactic__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__2__Impl_in_rule__Tactic__Group__24888);
+            rule__Tactic__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__3_in_rule__Tactic__Group__24891);
+            rule__Tactic__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__2"
+
+
+    // $ANTLR start "rule__Tactic__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2429:1: rule__Tactic__Group__2__Impl : ( '{' ) ;
+    public final void rule__Tactic__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2433:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2434:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2434:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2435:1: '{'
+            {
+             before(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Tactic__Group__2__Impl4919); 
+             after(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2448:1: rule__Tactic__Group__3 : rule__Tactic__Group__3__Impl rule__Tactic__Group__4 ;
+    public final void rule__Tactic__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2452:1: ( rule__Tactic__Group__3__Impl rule__Tactic__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2453:2: rule__Tactic__Group__3__Impl rule__Tactic__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__3__Impl_in_rule__Tactic__Group__34950);
+            rule__Tactic__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__4_in_rule__Tactic__Group__34953);
+            rule__Tactic__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__3"
+
+
+    // $ANTLR start "rule__Tactic__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2460:1: rule__Tactic__Group__3__Impl : ( 'name' ) ;
+    public final void rule__Tactic__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2464:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2465:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2465:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2466:1: 'name'
+            {
+             before(grammarAccess.getTacticAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__Tactic__Group__3__Impl4981); 
+             after(grammarAccess.getTacticAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2479:1: rule__Tactic__Group__4 : rule__Tactic__Group__4__Impl rule__Tactic__Group__5 ;
+    public final void rule__Tactic__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2483:1: ( rule__Tactic__Group__4__Impl rule__Tactic__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2484:2: rule__Tactic__Group__4__Impl rule__Tactic__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__4__Impl_in_rule__Tactic__Group__45012);
+            rule__Tactic__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__5_in_rule__Tactic__Group__45015);
+            rule__Tactic__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__4"
+
+
+    // $ANTLR start "rule__Tactic__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2491:1: rule__Tactic__Group__4__Impl : ( ( rule__Tactic__NameAssignment_4 ) ) ;
+    public final void rule__Tactic__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2495:1: ( ( ( rule__Tactic__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2496:1: ( ( rule__Tactic__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2496:1: ( ( rule__Tactic__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2497:1: ( rule__Tactic__NameAssignment_4 )
+            {
+             before(grammarAccess.getTacticAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2498:1: ( rule__Tactic__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2498:2: rule__Tactic__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__NameAssignment_4_in_rule__Tactic__Group__4__Impl5042);
+            rule__Tactic__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2508:1: rule__Tactic__Group__5 : rule__Tactic__Group__5__Impl rule__Tactic__Group__6 ;
+    public final void rule__Tactic__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2512:1: ( rule__Tactic__Group__5__Impl rule__Tactic__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2513:2: rule__Tactic__Group__5__Impl rule__Tactic__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__5__Impl_in_rule__Tactic__Group__55072);
+            rule__Tactic__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__6_in_rule__Tactic__Group__55075);
+            rule__Tactic__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__5"
+
+
+    // $ANTLR start "rule__Tactic__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2520:1: rule__Tactic__Group__5__Impl : ( ( rule__Tactic__Group_5__0 )? ) ;
+    public final void rule__Tactic__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2524:1: ( ( ( rule__Tactic__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2525:1: ( ( rule__Tactic__Group_5__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2525:1: ( ( rule__Tactic__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2526:1: ( rule__Tactic__Group_5__0 )?
+            {
+             before(grammarAccess.getTacticAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2527:1: ( rule__Tactic__Group_5__0 )?
+            int alt11=2;
+            int LA11_0 = input.LA(1);
+
+            if ( (LA11_0==29) ) {
+                alt11=1;
+            }
+            switch (alt11) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2527:2: rule__Tactic__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__0_in_rule__Tactic__Group__5__Impl5102);
+                    rule__Tactic__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getTacticAccess().getGroup_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2537:1: rule__Tactic__Group__6 : rule__Tactic__Group__6__Impl rule__Tactic__Group__7 ;
+    public final void rule__Tactic__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2541:1: ( rule__Tactic__Group__6__Impl rule__Tactic__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2542:2: rule__Tactic__Group__6__Impl rule__Tactic__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__6__Impl_in_rule__Tactic__Group__65133);
+            rule__Tactic__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__7_in_rule__Tactic__Group__65136);
+            rule__Tactic__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__6"
+
+
+    // $ANTLR start "rule__Tactic__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2549:1: rule__Tactic__Group__6__Impl : ( ( rule__Tactic__Group_6__0 )? ) ;
+    public final void rule__Tactic__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2553:1: ( ( ( rule__Tactic__Group_6__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2554:1: ( ( rule__Tactic__Group_6__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2554:1: ( ( rule__Tactic__Group_6__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2555:1: ( rule__Tactic__Group_6__0 )?
+            {
+             before(grammarAccess.getTacticAccess().getGroup_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2556:1: ( rule__Tactic__Group_6__0 )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
+
+            if ( (LA12_0==32) ) {
+                alt12=1;
+            }
+            switch (alt12) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2556:2: rule__Tactic__Group_6__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__0_in_rule__Tactic__Group__6__Impl5163);
+                    rule__Tactic__Group_6__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getTacticAccess().getGroup_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__6__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2566:1: rule__Tactic__Group__7 : rule__Tactic__Group__7__Impl rule__Tactic__Group__8 ;
+    public final void rule__Tactic__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2570:1: ( rule__Tactic__Group__7__Impl rule__Tactic__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2571:2: rule__Tactic__Group__7__Impl rule__Tactic__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__7__Impl_in_rule__Tactic__Group__75194);
+            rule__Tactic__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__8_in_rule__Tactic__Group__75197);
+            rule__Tactic__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__7"
+
+
+    // $ANTLR start "rule__Tactic__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2578:1: rule__Tactic__Group__7__Impl : ( 'implementedPlan' ) ;
+    public final void rule__Tactic__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2582:1: ( ( 'implementedPlan' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2583:1: ( 'implementedPlan' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2583:1: ( 'implementedPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2584:1: 'implementedPlan'
+            {
+             before(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__Tactic__Group__7__Impl5225); 
+             after(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__7__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2597:1: rule__Tactic__Group__8 : rule__Tactic__Group__8__Impl rule__Tactic__Group__9 ;
+    public final void rule__Tactic__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2601:1: ( rule__Tactic__Group__8__Impl rule__Tactic__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2602:2: rule__Tactic__Group__8__Impl rule__Tactic__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__8__Impl_in_rule__Tactic__Group__85256);
+            rule__Tactic__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__9_in_rule__Tactic__Group__85259);
+            rule__Tactic__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__8"
+
+
+    // $ANTLR start "rule__Tactic__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2609:1: rule__Tactic__Group__8__Impl : ( ( rule__Tactic__ImplementedPlanAssignment_8 ) ) ;
+    public final void rule__Tactic__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2613:1: ( ( ( rule__Tactic__ImplementedPlanAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2614:1: ( ( rule__Tactic__ImplementedPlanAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2614:1: ( ( rule__Tactic__ImplementedPlanAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2615:1: ( rule__Tactic__ImplementedPlanAssignment_8 )
+            {
+             before(grammarAccess.getTacticAccess().getImplementedPlanAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2616:1: ( rule__Tactic__ImplementedPlanAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2616:2: rule__Tactic__ImplementedPlanAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__ImplementedPlanAssignment_8_in_rule__Tactic__Group__8__Impl5286);
+            rule__Tactic__ImplementedPlanAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getImplementedPlanAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__8__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2626:1: rule__Tactic__Group__9 : rule__Tactic__Group__9__Impl ;
+    public final void rule__Tactic__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2630:1: ( rule__Tactic__Group__9__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2631:2: rule__Tactic__Group__9__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__9__Impl_in_rule__Tactic__Group__95316);
+            rule__Tactic__Group__9__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__9"
+
+
+    // $ANTLR start "rule__Tactic__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2637:1: rule__Tactic__Group__9__Impl : ( '}' ) ;
+    public final void rule__Tactic__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2641:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2642:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2642:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2643:1: '}'
+            {
+             before(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Tactic__Group__9__Impl5344); 
+             after(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group__9__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2676:1: rule__Tactic__Group_5__0 : rule__Tactic__Group_5__0__Impl rule__Tactic__Group_5__1 ;
+    public final void rule__Tactic__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2680:1: ( rule__Tactic__Group_5__0__Impl rule__Tactic__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2681:2: rule__Tactic__Group_5__0__Impl rule__Tactic__Group_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__0__Impl_in_rule__Tactic__Group_5__05395);
+            rule__Tactic__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__1_in_rule__Tactic__Group_5__05398);
+            rule__Tactic__Group_5__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__0"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2688:1: rule__Tactic__Group_5__0__Impl : ( 'inputParams' ) ;
+    public final void rule__Tactic__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2692:1: ( ( 'inputParams' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2693:1: ( 'inputParams' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2693:1: ( 'inputParams' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2694:1: 'inputParams'
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); 
+            match(input,29,FollowSets000.FOLLOW_29_in_rule__Tactic__Group_5__0__Impl5426); 
+             after(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2707:1: rule__Tactic__Group_5__1 : rule__Tactic__Group_5__1__Impl rule__Tactic__Group_5__2 ;
+    public final void rule__Tactic__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2711:1: ( rule__Tactic__Group_5__1__Impl rule__Tactic__Group_5__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2712:2: rule__Tactic__Group_5__1__Impl rule__Tactic__Group_5__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__1__Impl_in_rule__Tactic__Group_5__15457);
+            rule__Tactic__Group_5__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__2_in_rule__Tactic__Group_5__15460);
+            rule__Tactic__Group_5__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__1"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2719:1: rule__Tactic__Group_5__1__Impl : ( '(' ) ;
+    public final void rule__Tactic__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2723:1: ( ( '(' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2724:1: ( '(' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2724:1: ( '(' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2725:1: '('
+            {
+             before(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); 
+            match(input,30,FollowSets000.FOLLOW_30_in_rule__Tactic__Group_5__1__Impl5488); 
+             after(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__1__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2738:1: rule__Tactic__Group_5__2 : rule__Tactic__Group_5__2__Impl rule__Tactic__Group_5__3 ;
+    public final void rule__Tactic__Group_5__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2742:1: ( rule__Tactic__Group_5__2__Impl rule__Tactic__Group_5__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2743:2: rule__Tactic__Group_5__2__Impl rule__Tactic__Group_5__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__2__Impl_in_rule__Tactic__Group_5__25519);
+            rule__Tactic__Group_5__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__3_in_rule__Tactic__Group_5__25522);
+            rule__Tactic__Group_5__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__2"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2750:1: rule__Tactic__Group_5__2__Impl : ( ( rule__Tactic__InputParamsAssignment_5_2 ) ) ;
+    public final void rule__Tactic__Group_5__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2754:1: ( ( ( rule__Tactic__InputParamsAssignment_5_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2755:1: ( ( rule__Tactic__InputParamsAssignment_5_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2755:1: ( ( rule__Tactic__InputParamsAssignment_5_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2756:1: ( rule__Tactic__InputParamsAssignment_5_2 )
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2757:1: ( rule__Tactic__InputParamsAssignment_5_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2757:2: rule__Tactic__InputParamsAssignment_5_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__InputParamsAssignment_5_2_in_rule__Tactic__Group_5__2__Impl5549);
+            rule__Tactic__InputParamsAssignment_5_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__2__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2767:1: rule__Tactic__Group_5__3 : rule__Tactic__Group_5__3__Impl rule__Tactic__Group_5__4 ;
+    public final void rule__Tactic__Group_5__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2771:1: ( rule__Tactic__Group_5__3__Impl rule__Tactic__Group_5__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2772:2: rule__Tactic__Group_5__3__Impl rule__Tactic__Group_5__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__3__Impl_in_rule__Tactic__Group_5__35579);
+            rule__Tactic__Group_5__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__4_in_rule__Tactic__Group_5__35582);
+            rule__Tactic__Group_5__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__3"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2779:1: rule__Tactic__Group_5__3__Impl : ( ( rule__Tactic__Group_5_3__0 )* ) ;
+    public final void rule__Tactic__Group_5__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2783:1: ( ( ( rule__Tactic__Group_5_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2784:1: ( ( rule__Tactic__Group_5_3__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2784:1: ( ( rule__Tactic__Group_5_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2785:1: ( rule__Tactic__Group_5_3__0 )*
+            {
+             before(grammarAccess.getTacticAccess().getGroup_5_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2786:1: ( rule__Tactic__Group_5_3__0 )*
+            loop13:
+            do {
+                int alt13=2;
+                int LA13_0 = input.LA(1);
+
+                if ( (LA13_0==25) ) {
+                    alt13=1;
+                }
+
+
+                switch (alt13) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2786:2: rule__Tactic__Group_5_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__0_in_rule__Tactic__Group_5__3__Impl5609);
+            	    rule__Tactic__Group_5_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop13;
+                }
+            } while (true);
+
+             after(grammarAccess.getTacticAccess().getGroup_5_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__3__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2796:1: rule__Tactic__Group_5__4 : rule__Tactic__Group_5__4__Impl ;
+    public final void rule__Tactic__Group_5__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2800:1: ( rule__Tactic__Group_5__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2801:2: rule__Tactic__Group_5__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__4__Impl_in_rule__Tactic__Group_5__45640);
+            rule__Tactic__Group_5__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__4"
+
+
+    // $ANTLR start "rule__Tactic__Group_5__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2807:1: rule__Tactic__Group_5__4__Impl : ( ')' ) ;
+    public final void rule__Tactic__Group_5__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2811:1: ( ( ')' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2812:1: ( ')' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2812:1: ( ')' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2813:1: ')'
+            {
+             before(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); 
+            match(input,31,FollowSets000.FOLLOW_31_in_rule__Tactic__Group_5__4__Impl5668); 
+             after(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5__4__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2836:1: rule__Tactic__Group_5_3__0 : rule__Tactic__Group_5_3__0__Impl rule__Tactic__Group_5_3__1 ;
+    public final void rule__Tactic__Group_5_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2840:1: ( rule__Tactic__Group_5_3__0__Impl rule__Tactic__Group_5_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2841:2: rule__Tactic__Group_5_3__0__Impl rule__Tactic__Group_5_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__0__Impl_in_rule__Tactic__Group_5_3__05709);
+            rule__Tactic__Group_5_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__1_in_rule__Tactic__Group_5_3__05712);
+            rule__Tactic__Group_5_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5_3__0"
+
+
+    // $ANTLR start "rule__Tactic__Group_5_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2848:1: rule__Tactic__Group_5_3__0__Impl : ( ',' ) ;
+    public final void rule__Tactic__Group_5_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2852:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2853:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2853:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2854:1: ','
+            {
+             before(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__Tactic__Group_5_3__0__Impl5740); 
+             after(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5_3__0__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_5_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2867:1: rule__Tactic__Group_5_3__1 : rule__Tactic__Group_5_3__1__Impl ;
+    public final void rule__Tactic__Group_5_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2871:1: ( rule__Tactic__Group_5_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2872:2: rule__Tactic__Group_5_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__1__Impl_in_rule__Tactic__Group_5_3__15771);
+            rule__Tactic__Group_5_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5_3__1"
+
+
+    // $ANTLR start "rule__Tactic__Group_5_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2878:1: rule__Tactic__Group_5_3__1__Impl : ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) ) ;
+    public final void rule__Tactic__Group_5_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2882:1: ( ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2883:1: ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2883:1: ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2884:1: ( rule__Tactic__InputParamsAssignment_5_3_1 )
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsAssignment_5_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2885:1: ( rule__Tactic__InputParamsAssignment_5_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2885:2: rule__Tactic__InputParamsAssignment_5_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__InputParamsAssignment_5_3_1_in_rule__Tactic__Group_5_3__1__Impl5798);
+            rule__Tactic__InputParamsAssignment_5_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsAssignment_5_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_5_3__1__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_6__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2899:1: rule__Tactic__Group_6__0 : rule__Tactic__Group_6__0__Impl rule__Tactic__Group_6__1 ;
+    public final void rule__Tactic__Group_6__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2903:1: ( rule__Tactic__Group_6__0__Impl rule__Tactic__Group_6__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2904:2: rule__Tactic__Group_6__0__Impl rule__Tactic__Group_6__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__0__Impl_in_rule__Tactic__Group_6__05832);
+            rule__Tactic__Group_6__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__1_in_rule__Tactic__Group_6__05835);
+            rule__Tactic__Group_6__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_6__0"
+
+
+    // $ANTLR start "rule__Tactic__Group_6__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2911:1: rule__Tactic__Group_6__0__Impl : ( 'outputParam' ) ;
+    public final void rule__Tactic__Group_6__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2915:1: ( ( 'outputParam' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2916:1: ( 'outputParam' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2916:1: ( 'outputParam' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2917:1: 'outputParam'
+            {
+             before(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); 
+            match(input,32,FollowSets000.FOLLOW_32_in_rule__Tactic__Group_6__0__Impl5863); 
+             after(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_6__0__Impl"
+
+
+    // $ANTLR start "rule__Tactic__Group_6__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2930:1: rule__Tactic__Group_6__1 : rule__Tactic__Group_6__1__Impl ;
+    public final void rule__Tactic__Group_6__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2934:1: ( rule__Tactic__Group_6__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2935:2: rule__Tactic__Group_6__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__1__Impl_in_rule__Tactic__Group_6__15894);
+            rule__Tactic__Group_6__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_6__1"
+
+
+    // $ANTLR start "rule__Tactic__Group_6__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2941:1: rule__Tactic__Group_6__1__Impl : ( ( rule__Tactic__OutputParamAssignment_6_1 ) ) ;
+    public final void rule__Tactic__Group_6__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2945:1: ( ( ( rule__Tactic__OutputParamAssignment_6_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2946:1: ( ( rule__Tactic__OutputParamAssignment_6_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2946:1: ( ( rule__Tactic__OutputParamAssignment_6_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2947:1: ( rule__Tactic__OutputParamAssignment_6_1 )
+            {
+             before(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2948:1: ( rule__Tactic__OutputParamAssignment_6_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2948:2: rule__Tactic__OutputParamAssignment_6_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__OutputParamAssignment_6_1_in_rule__Tactic__Group_6__1__Impl5921);
+            rule__Tactic__OutputParamAssignment_6_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__Group_6__1__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2962:1: rule__Action__Group__0 : rule__Action__Group__0__Impl rule__Action__Group__1 ;
+    public final void rule__Action__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2966:1: ( rule__Action__Group__0__Impl rule__Action__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2967:2: rule__Action__Group__0__Impl rule__Action__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__0__Impl_in_rule__Action__Group__05955);
+            rule__Action__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__1_in_rule__Action__Group__05958);
+            rule__Action__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__0"
+
+
+    // $ANTLR start "rule__Action__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2974:1: rule__Action__Group__0__Impl : ( 'Action' ) ;
+    public final void rule__Action__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2978:1: ( ( 'Action' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2979:1: ( 'Action' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2979:1: ( 'Action' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2980:1: 'Action'
+            {
+             before(grammarAccess.getActionAccess().getActionKeyword_0()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__Action__Group__0__Impl5986); 
+             after(grammarAccess.getActionAccess().getActionKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2993:1: rule__Action__Group__1 : rule__Action__Group__1__Impl rule__Action__Group__2 ;
+    public final void rule__Action__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2997:1: ( rule__Action__Group__1__Impl rule__Action__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:2998:2: rule__Action__Group__1__Impl rule__Action__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__1__Impl_in_rule__Action__Group__16017);
+            rule__Action__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__2_in_rule__Action__Group__16020);
+            rule__Action__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__1"
+
+
+    // $ANTLR start "rule__Action__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3005:1: rule__Action__Group__1__Impl : ( ( rule__Action__IdAssignment_1 ) ) ;
+    public final void rule__Action__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3009:1: ( ( ( rule__Action__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3010:1: ( ( rule__Action__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3010:1: ( ( rule__Action__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3011:1: ( rule__Action__IdAssignment_1 )
+            {
+             before(grammarAccess.getActionAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3012:1: ( rule__Action__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3012:2: rule__Action__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__IdAssignment_1_in_rule__Action__Group__1__Impl6047);
+            rule__Action__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3022:1: rule__Action__Group__2 : rule__Action__Group__2__Impl rule__Action__Group__3 ;
+    public final void rule__Action__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3026:1: ( rule__Action__Group__2__Impl rule__Action__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3027:2: rule__Action__Group__2__Impl rule__Action__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__2__Impl_in_rule__Action__Group__26077);
+            rule__Action__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__3_in_rule__Action__Group__26080);
+            rule__Action__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__2"
+
+
+    // $ANTLR start "rule__Action__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3034:1: rule__Action__Group__2__Impl : ( '{' ) ;
+    public final void rule__Action__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3038:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3039:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3039:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3040:1: '{'
+            {
+             before(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Action__Group__2__Impl6108); 
+             after(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3053:1: rule__Action__Group__3 : rule__Action__Group__3__Impl rule__Action__Group__4 ;
+    public final void rule__Action__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3057:1: ( rule__Action__Group__3__Impl rule__Action__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3058:2: rule__Action__Group__3__Impl rule__Action__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__3__Impl_in_rule__Action__Group__36139);
+            rule__Action__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__4_in_rule__Action__Group__36142);
+            rule__Action__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__3"
+
+
+    // $ANTLR start "rule__Action__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3065:1: rule__Action__Group__3__Impl : ( 'name' ) ;
+    public final void rule__Action__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3069:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3070:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3070:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3071:1: 'name'
+            {
+             before(grammarAccess.getActionAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__Action__Group__3__Impl6170); 
+             after(grammarAccess.getActionAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3084:1: rule__Action__Group__4 : rule__Action__Group__4__Impl rule__Action__Group__5 ;
+    public final void rule__Action__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3088:1: ( rule__Action__Group__4__Impl rule__Action__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3089:2: rule__Action__Group__4__Impl rule__Action__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__4__Impl_in_rule__Action__Group__46201);
+            rule__Action__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__5_in_rule__Action__Group__46204);
+            rule__Action__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__4"
+
+
+    // $ANTLR start "rule__Action__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3096:1: rule__Action__Group__4__Impl : ( ( rule__Action__NameAssignment_4 ) ) ;
+    public final void rule__Action__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3100:1: ( ( ( rule__Action__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3101:1: ( ( rule__Action__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3101:1: ( ( rule__Action__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3102:1: ( rule__Action__NameAssignment_4 )
+            {
+             before(grammarAccess.getActionAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3103:1: ( rule__Action__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3103:2: rule__Action__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__NameAssignment_4_in_rule__Action__Group__4__Impl6231);
+            rule__Action__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3113:1: rule__Action__Group__5 : rule__Action__Group__5__Impl rule__Action__Group__6 ;
+    public final void rule__Action__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3117:1: ( rule__Action__Group__5__Impl rule__Action__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3118:2: rule__Action__Group__5__Impl rule__Action__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__5__Impl_in_rule__Action__Group__56261);
+            rule__Action__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__6_in_rule__Action__Group__56264);
+            rule__Action__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__5"
+
+
+    // $ANTLR start "rule__Action__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3125:1: rule__Action__Group__5__Impl : ( ( rule__Action__Group_5__0 )? ) ;
+    public final void rule__Action__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3129:1: ( ( ( rule__Action__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3130:1: ( ( rule__Action__Group_5__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3130:1: ( ( rule__Action__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3131:1: ( rule__Action__Group_5__0 )?
+            {
+             before(grammarAccess.getActionAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3132:1: ( rule__Action__Group_5__0 )?
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+
+            if ( (LA14_0==32) ) {
+                alt14=1;
+            }
+            switch (alt14) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3132:2: rule__Action__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__0_in_rule__Action__Group__5__Impl6291);
+                    rule__Action__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getActionAccess().getGroup_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3142:1: rule__Action__Group__6 : rule__Action__Group__6__Impl rule__Action__Group__7 ;
+    public final void rule__Action__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3146:1: ( rule__Action__Group__6__Impl rule__Action__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3147:2: rule__Action__Group__6__Impl rule__Action__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__6__Impl_in_rule__Action__Group__66322);
+            rule__Action__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__7_in_rule__Action__Group__66325);
+            rule__Action__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__6"
+
+
+    // $ANTLR start "rule__Action__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3154:1: rule__Action__Group__6__Impl : ( ( rule__Action__Group_6__0 )? ) ;
+    public final void rule__Action__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3158:1: ( ( ( rule__Action__Group_6__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3159:1: ( ( rule__Action__Group_6__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3159:1: ( ( rule__Action__Group_6__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3160:1: ( rule__Action__Group_6__0 )?
+            {
+             before(grammarAccess.getActionAccess().getGroup_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3161:1: ( rule__Action__Group_6__0 )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+
+            if ( (LA15_0==29) ) {
+                alt15=1;
+            }
+            switch (alt15) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3161:2: rule__Action__Group_6__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__0_in_rule__Action__Group__6__Impl6352);
+                    rule__Action__Group_6__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getActionAccess().getGroup_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__6__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3171:1: rule__Action__Group__7 : rule__Action__Group__7__Impl rule__Action__Group__8 ;
+    public final void rule__Action__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3175:1: ( rule__Action__Group__7__Impl rule__Action__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3176:2: rule__Action__Group__7__Impl rule__Action__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__7__Impl_in_rule__Action__Group__76383);
+            rule__Action__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__8_in_rule__Action__Group__76386);
+            rule__Action__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__7"
+
+
+    // $ANTLR start "rule__Action__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3183:1: rule__Action__Group__7__Impl : ( 'referredAdaptationPoint' ) ;
+    public final void rule__Action__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3187:1: ( ( 'referredAdaptationPoint' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3188:1: ( 'referredAdaptationPoint' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3188:1: ( 'referredAdaptationPoint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3189:1: 'referredAdaptationPoint'
+            {
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__Action__Group__7__Impl6414); 
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__7__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3202:1: rule__Action__Group__8 : rule__Action__Group__8__Impl rule__Action__Group__9 ;
+    public final void rule__Action__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3206:1: ( rule__Action__Group__8__Impl rule__Action__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3207:2: rule__Action__Group__8__Impl rule__Action__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__8__Impl_in_rule__Action__Group__86445);
+            rule__Action__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__9_in_rule__Action__Group__86448);
+            rule__Action__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__8"
+
+
+    // $ANTLR start "rule__Action__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3214:1: rule__Action__Group__8__Impl : ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) ) ;
+    public final void rule__Action__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3218:1: ( ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3219:1: ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3219:1: ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3220:1: ( rule__Action__ReferredAdaptationPointAssignment_8 )
+            {
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3221:1: ( rule__Action__ReferredAdaptationPointAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3221:2: rule__Action__ReferredAdaptationPointAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__ReferredAdaptationPointAssignment_8_in_rule__Action__Group__8__Impl6475);
+            rule__Action__ReferredAdaptationPointAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__8__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3231:1: rule__Action__Group__9 : rule__Action__Group__9__Impl rule__Action__Group__10 ;
+    public final void rule__Action__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3235:1: ( rule__Action__Group__9__Impl rule__Action__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3236:2: rule__Action__Group__9__Impl rule__Action__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__9__Impl_in_rule__Action__Group__96505);
+            rule__Action__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__10_in_rule__Action__Group__96508);
+            rule__Action__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__9"
+
+
+    // $ANTLR start "rule__Action__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3243:1: rule__Action__Group__9__Impl : ( 'adaptationActionOperation' ) ;
+    public final void rule__Action__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3247:1: ( ( 'adaptationActionOperation' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3248:1: ( 'adaptationActionOperation' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3248:1: ( 'adaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3249:1: 'adaptationActionOperation'
+            {
+             before(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); 
+            match(input,35,FollowSets000.FOLLOW_35_in_rule__Action__Group__9__Impl6536); 
+             after(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__9__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3262:1: rule__Action__Group__10 : rule__Action__Group__10__Impl rule__Action__Group__11 ;
+    public final void rule__Action__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3266:1: ( rule__Action__Group__10__Impl rule__Action__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3267:2: rule__Action__Group__10__Impl rule__Action__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__10__Impl_in_rule__Action__Group__106567);
+            rule__Action__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__11_in_rule__Action__Group__106570);
+            rule__Action__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__10"
+
+
+    // $ANTLR start "rule__Action__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3274:1: rule__Action__Group__10__Impl : ( ( rule__Action__AdaptationActionOperationAssignment_10 ) ) ;
+    public final void rule__Action__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3278:1: ( ( ( rule__Action__AdaptationActionOperationAssignment_10 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3279:1: ( ( rule__Action__AdaptationActionOperationAssignment_10 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3279:1: ( ( rule__Action__AdaptationActionOperationAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3280:1: ( rule__Action__AdaptationActionOperationAssignment_10 )
+            {
+             before(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3281:1: ( rule__Action__AdaptationActionOperationAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3281:2: rule__Action__AdaptationActionOperationAssignment_10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__AdaptationActionOperationAssignment_10_in_rule__Action__Group__10__Impl6597);
+            rule__Action__AdaptationActionOperationAssignment_10();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__10__Impl"
+
+
+    // $ANTLR start "rule__Action__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3291:1: rule__Action__Group__11 : rule__Action__Group__11__Impl ;
+    public final void rule__Action__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3295:1: ( rule__Action__Group__11__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3296:2: rule__Action__Group__11__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__11__Impl_in_rule__Action__Group__116627);
+            rule__Action__Group__11__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__11"
+
+
+    // $ANTLR start "rule__Action__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3302:1: rule__Action__Group__11__Impl : ( '}' ) ;
+    public final void rule__Action__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3306:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3307:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3307:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3308:1: '}'
+            {
+             before(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Action__Group__11__Impl6655); 
+             after(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group__11__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3345:1: rule__Action__Group_5__0 : rule__Action__Group_5__0__Impl rule__Action__Group_5__1 ;
+    public final void rule__Action__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3349:1: ( rule__Action__Group_5__0__Impl rule__Action__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3350:2: rule__Action__Group_5__0__Impl rule__Action__Group_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__0__Impl_in_rule__Action__Group_5__06710);
+            rule__Action__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__1_in_rule__Action__Group_5__06713);
+            rule__Action__Group_5__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_5__0"
+
+
+    // $ANTLR start "rule__Action__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3357:1: rule__Action__Group_5__0__Impl : ( 'outputParam' ) ;
+    public final void rule__Action__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3361:1: ( ( 'outputParam' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3362:1: ( 'outputParam' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3362:1: ( 'outputParam' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3363:1: 'outputParam'
+            {
+             before(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); 
+            match(input,32,FollowSets000.FOLLOW_32_in_rule__Action__Group_5__0__Impl6741); 
+             after(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3376:1: rule__Action__Group_5__1 : rule__Action__Group_5__1__Impl ;
+    public final void rule__Action__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3380:1: ( rule__Action__Group_5__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3381:2: rule__Action__Group_5__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__1__Impl_in_rule__Action__Group_5__16772);
+            rule__Action__Group_5__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_5__1"
+
+
+    // $ANTLR start "rule__Action__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3387:1: rule__Action__Group_5__1__Impl : ( ( rule__Action__OutputParamAssignment_5_1 ) ) ;
+    public final void rule__Action__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3391:1: ( ( ( rule__Action__OutputParamAssignment_5_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3392:1: ( ( rule__Action__OutputParamAssignment_5_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3392:1: ( ( rule__Action__OutputParamAssignment_5_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3393:1: ( rule__Action__OutputParamAssignment_5_1 )
+            {
+             before(grammarAccess.getActionAccess().getOutputParamAssignment_5_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3394:1: ( rule__Action__OutputParamAssignment_5_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3394:2: rule__Action__OutputParamAssignment_5_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__OutputParamAssignment_5_1_in_rule__Action__Group_5__1__Impl6799);
+            rule__Action__OutputParamAssignment_5_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getOutputParamAssignment_5_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_5__1__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3408:1: rule__Action__Group_6__0 : rule__Action__Group_6__0__Impl rule__Action__Group_6__1 ;
+    public final void rule__Action__Group_6__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3412:1: ( rule__Action__Group_6__0__Impl rule__Action__Group_6__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3413:2: rule__Action__Group_6__0__Impl rule__Action__Group_6__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__0__Impl_in_rule__Action__Group_6__06833);
+            rule__Action__Group_6__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__1_in_rule__Action__Group_6__06836);
+            rule__Action__Group_6__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__0"
+
+
+    // $ANTLR start "rule__Action__Group_6__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3420:1: rule__Action__Group_6__0__Impl : ( 'inputParams' ) ;
+    public final void rule__Action__Group_6__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3424:1: ( ( 'inputParams' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3425:1: ( 'inputParams' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3425:1: ( 'inputParams' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3426:1: 'inputParams'
+            {
+             before(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); 
+            match(input,29,FollowSets000.FOLLOW_29_in_rule__Action__Group_6__0__Impl6864); 
+             after(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__0__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3439:1: rule__Action__Group_6__1 : rule__Action__Group_6__1__Impl rule__Action__Group_6__2 ;
+    public final void rule__Action__Group_6__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3443:1: ( rule__Action__Group_6__1__Impl rule__Action__Group_6__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3444:2: rule__Action__Group_6__1__Impl rule__Action__Group_6__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__1__Impl_in_rule__Action__Group_6__16895);
+            rule__Action__Group_6__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__2_in_rule__Action__Group_6__16898);
+            rule__Action__Group_6__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__1"
+
+
+    // $ANTLR start "rule__Action__Group_6__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3451:1: rule__Action__Group_6__1__Impl : ( '(' ) ;
+    public final void rule__Action__Group_6__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3455:1: ( ( '(' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3456:1: ( '(' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3456:1: ( '(' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3457:1: '('
+            {
+             before(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); 
+            match(input,30,FollowSets000.FOLLOW_30_in_rule__Action__Group_6__1__Impl6926); 
+             after(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__1__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3470:1: rule__Action__Group_6__2 : rule__Action__Group_6__2__Impl rule__Action__Group_6__3 ;
+    public final void rule__Action__Group_6__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3474:1: ( rule__Action__Group_6__2__Impl rule__Action__Group_6__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3475:2: rule__Action__Group_6__2__Impl rule__Action__Group_6__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__2__Impl_in_rule__Action__Group_6__26957);
+            rule__Action__Group_6__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__3_in_rule__Action__Group_6__26960);
+            rule__Action__Group_6__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__2"
+
+
+    // $ANTLR start "rule__Action__Group_6__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3482:1: rule__Action__Group_6__2__Impl : ( ( rule__Action__InputParamsAssignment_6_2 ) ) ;
+    public final void rule__Action__Group_6__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3486:1: ( ( ( rule__Action__InputParamsAssignment_6_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3487:1: ( ( rule__Action__InputParamsAssignment_6_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3487:1: ( ( rule__Action__InputParamsAssignment_6_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3488:1: ( rule__Action__InputParamsAssignment_6_2 )
+            {
+             before(grammarAccess.getActionAccess().getInputParamsAssignment_6_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3489:1: ( rule__Action__InputParamsAssignment_6_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3489:2: rule__Action__InputParamsAssignment_6_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__InputParamsAssignment_6_2_in_rule__Action__Group_6__2__Impl6987);
+            rule__Action__InputParamsAssignment_6_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsAssignment_6_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__2__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3499:1: rule__Action__Group_6__3 : rule__Action__Group_6__3__Impl rule__Action__Group_6__4 ;
+    public final void rule__Action__Group_6__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3503:1: ( rule__Action__Group_6__3__Impl rule__Action__Group_6__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3504:2: rule__Action__Group_6__3__Impl rule__Action__Group_6__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__3__Impl_in_rule__Action__Group_6__37017);
+            rule__Action__Group_6__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__4_in_rule__Action__Group_6__37020);
+            rule__Action__Group_6__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__3"
+
+
+    // $ANTLR start "rule__Action__Group_6__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3511:1: rule__Action__Group_6__3__Impl : ( ( rule__Action__Group_6_3__0 )* ) ;
+    public final void rule__Action__Group_6__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3515:1: ( ( ( rule__Action__Group_6_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3516:1: ( ( rule__Action__Group_6_3__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3516:1: ( ( rule__Action__Group_6_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3517:1: ( rule__Action__Group_6_3__0 )*
+            {
+             before(grammarAccess.getActionAccess().getGroup_6_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3518:1: ( rule__Action__Group_6_3__0 )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+
+                if ( (LA16_0==25) ) {
+                    alt16=1;
+                }
+
+
+                switch (alt16) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3518:2: rule__Action__Group_6_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__0_in_rule__Action__Group_6__3__Impl7047);
+            	    rule__Action__Group_6_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
+                }
+            } while (true);
+
+             after(grammarAccess.getActionAccess().getGroup_6_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__3__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3528:1: rule__Action__Group_6__4 : rule__Action__Group_6__4__Impl ;
+    public final void rule__Action__Group_6__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3532:1: ( rule__Action__Group_6__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3533:2: rule__Action__Group_6__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__4__Impl_in_rule__Action__Group_6__47078);
+            rule__Action__Group_6__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__4"
+
+
+    // $ANTLR start "rule__Action__Group_6__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3539:1: rule__Action__Group_6__4__Impl : ( ')' ) ;
+    public final void rule__Action__Group_6__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3543:1: ( ( ')' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3544:1: ( ')' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3544:1: ( ')' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3545:1: ')'
+            {
+             before(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); 
+            match(input,31,FollowSets000.FOLLOW_31_in_rule__Action__Group_6__4__Impl7106); 
+             after(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6__4__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3568:1: rule__Action__Group_6_3__0 : rule__Action__Group_6_3__0__Impl rule__Action__Group_6_3__1 ;
+    public final void rule__Action__Group_6_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3572:1: ( rule__Action__Group_6_3__0__Impl rule__Action__Group_6_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3573:2: rule__Action__Group_6_3__0__Impl rule__Action__Group_6_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__0__Impl_in_rule__Action__Group_6_3__07147);
+            rule__Action__Group_6_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__1_in_rule__Action__Group_6_3__07150);
+            rule__Action__Group_6_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6_3__0"
+
+
+    // $ANTLR start "rule__Action__Group_6_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3580:1: rule__Action__Group_6_3__0__Impl : ( ',' ) ;
+    public final void rule__Action__Group_6_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3584:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3585:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3585:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3586:1: ','
+            {
+             before(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__Action__Group_6_3__0__Impl7178); 
+             after(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6_3__0__Impl"
+
+
+    // $ANTLR start "rule__Action__Group_6_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3599:1: rule__Action__Group_6_3__1 : rule__Action__Group_6_3__1__Impl ;
+    public final void rule__Action__Group_6_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3603:1: ( rule__Action__Group_6_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3604:2: rule__Action__Group_6_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__1__Impl_in_rule__Action__Group_6_3__17209);
+            rule__Action__Group_6_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6_3__1"
+
+
+    // $ANTLR start "rule__Action__Group_6_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3610:1: rule__Action__Group_6_3__1__Impl : ( ( rule__Action__InputParamsAssignment_6_3_1 ) ) ;
+    public final void rule__Action__Group_6_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3614:1: ( ( ( rule__Action__InputParamsAssignment_6_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3615:1: ( ( rule__Action__InputParamsAssignment_6_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3615:1: ( ( rule__Action__InputParamsAssignment_6_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3616:1: ( rule__Action__InputParamsAssignment_6_3_1 )
+            {
+             before(grammarAccess.getActionAccess().getInputParamsAssignment_6_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3617:1: ( rule__Action__InputParamsAssignment_6_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3617:2: rule__Action__InputParamsAssignment_6_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__InputParamsAssignment_6_3_1_in_rule__Action__Group_6_3__1__Impl7236);
+            rule__Action__InputParamsAssignment_6_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsAssignment_6_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__Group_6_3__1__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3631:1: rule__Strategy__Group__0 : rule__Strategy__Group__0__Impl rule__Strategy__Group__1 ;
+    public final void rule__Strategy__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3635:1: ( rule__Strategy__Group__0__Impl rule__Strategy__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3636:2: rule__Strategy__Group__0__Impl rule__Strategy__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__0__Impl_in_rule__Strategy__Group__07270);
+            rule__Strategy__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__1_in_rule__Strategy__Group__07273);
+            rule__Strategy__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__0"
+
+
+    // $ANTLR start "rule__Strategy__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3643:1: rule__Strategy__Group__0__Impl : ( 'Strategy' ) ;
+    public final void rule__Strategy__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3647:1: ( ( 'Strategy' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3648:1: ( 'Strategy' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3648:1: ( 'Strategy' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3649:1: 'Strategy'
+            {
+             before(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); 
+            match(input,36,FollowSets000.FOLLOW_36_in_rule__Strategy__Group__0__Impl7301); 
+             after(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3662:1: rule__Strategy__Group__1 : rule__Strategy__Group__1__Impl rule__Strategy__Group__2 ;
+    public final void rule__Strategy__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3666:1: ( rule__Strategy__Group__1__Impl rule__Strategy__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3667:2: rule__Strategy__Group__1__Impl rule__Strategy__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__1__Impl_in_rule__Strategy__Group__17332);
+            rule__Strategy__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__2_in_rule__Strategy__Group__17335);
+            rule__Strategy__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__1"
+
+
+    // $ANTLR start "rule__Strategy__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3674:1: rule__Strategy__Group__1__Impl : ( ( rule__Strategy__IdAssignment_1 ) ) ;
+    public final void rule__Strategy__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3678:1: ( ( ( rule__Strategy__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3679:1: ( ( rule__Strategy__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3679:1: ( ( rule__Strategy__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3680:1: ( rule__Strategy__IdAssignment_1 )
+            {
+             before(grammarAccess.getStrategyAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3681:1: ( rule__Strategy__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3681:2: rule__Strategy__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__IdAssignment_1_in_rule__Strategy__Group__1__Impl7362);
+            rule__Strategy__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3691:1: rule__Strategy__Group__2 : rule__Strategy__Group__2__Impl rule__Strategy__Group__3 ;
+    public final void rule__Strategy__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3695:1: ( rule__Strategy__Group__2__Impl rule__Strategy__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3696:2: rule__Strategy__Group__2__Impl rule__Strategy__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__2__Impl_in_rule__Strategy__Group__27392);
+            rule__Strategy__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__3_in_rule__Strategy__Group__27395);
+            rule__Strategy__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__2"
+
+
+    // $ANTLR start "rule__Strategy__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3703:1: rule__Strategy__Group__2__Impl : ( '{' ) ;
+    public final void rule__Strategy__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3707:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3708:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3708:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3709:1: '{'
+            {
+             before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Strategy__Group__2__Impl7423); 
+             after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3722:1: rule__Strategy__Group__3 : rule__Strategy__Group__3__Impl rule__Strategy__Group__4 ;
+    public final void rule__Strategy__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3726:1: ( rule__Strategy__Group__3__Impl rule__Strategy__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3727:2: rule__Strategy__Group__3__Impl rule__Strategy__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__3__Impl_in_rule__Strategy__Group__37454);
+            rule__Strategy__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__4_in_rule__Strategy__Group__37457);
+            rule__Strategy__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__3"
+
+
+    // $ANTLR start "rule__Strategy__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3734:1: rule__Strategy__Group__3__Impl : ( 'name' ) ;
+    public final void rule__Strategy__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3738:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3739:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3739:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3740:1: 'name'
+            {
+             before(grammarAccess.getStrategyAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__Strategy__Group__3__Impl7485); 
+             after(grammarAccess.getStrategyAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3753:1: rule__Strategy__Group__4 : rule__Strategy__Group__4__Impl rule__Strategy__Group__5 ;
+    public final void rule__Strategy__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3757:1: ( rule__Strategy__Group__4__Impl rule__Strategy__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3758:2: rule__Strategy__Group__4__Impl rule__Strategy__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__4__Impl_in_rule__Strategy__Group__47516);
+            rule__Strategy__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__5_in_rule__Strategy__Group__47519);
+            rule__Strategy__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__4"
+
+
+    // $ANTLR start "rule__Strategy__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3765:1: rule__Strategy__Group__4__Impl : ( ( rule__Strategy__NameAssignment_4 ) ) ;
+    public final void rule__Strategy__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3769:1: ( ( ( rule__Strategy__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3770:1: ( ( rule__Strategy__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3770:1: ( ( rule__Strategy__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3771:1: ( rule__Strategy__NameAssignment_4 )
+            {
+             before(grammarAccess.getStrategyAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3772:1: ( rule__Strategy__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3772:2: rule__Strategy__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__NameAssignment_4_in_rule__Strategy__Group__4__Impl7546);
+            rule__Strategy__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3782:1: rule__Strategy__Group__5 : rule__Strategy__Group__5__Impl rule__Strategy__Group__6 ;
+    public final void rule__Strategy__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3786:1: ( rule__Strategy__Group__5__Impl rule__Strategy__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3787:2: rule__Strategy__Group__5__Impl rule__Strategy__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__5__Impl_in_rule__Strategy__Group__57576);
+            rule__Strategy__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__6_in_rule__Strategy__Group__57579);
+            rule__Strategy__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__5"
+
+
+    // $ANTLR start "rule__Strategy__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3794:1: rule__Strategy__Group__5__Impl : ( 'objective' ) ;
+    public final void rule__Strategy__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3798:1: ( ( 'objective' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3799:1: ( 'objective' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3799:1: ( 'objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3800:1: 'objective'
+            {
+             before(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); 
+            match(input,37,FollowSets000.FOLLOW_37_in_rule__Strategy__Group__5__Impl7607); 
+             after(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3813:1: rule__Strategy__Group__6 : rule__Strategy__Group__6__Impl rule__Strategy__Group__7 ;
+    public final void rule__Strategy__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3817:1: ( rule__Strategy__Group__6__Impl rule__Strategy__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3818:2: rule__Strategy__Group__6__Impl rule__Strategy__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__6__Impl_in_rule__Strategy__Group__67638);
+            rule__Strategy__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__7_in_rule__Strategy__Group__67641);
+            rule__Strategy__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__6"
+
+
+    // $ANTLR start "rule__Strategy__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3825:1: rule__Strategy__Group__6__Impl : ( ( rule__Strategy__ObjectiveAssignment_6 ) ) ;
+    public final void rule__Strategy__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3829:1: ( ( ( rule__Strategy__ObjectiveAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3830:1: ( ( rule__Strategy__ObjectiveAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3830:1: ( ( rule__Strategy__ObjectiveAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3831:1: ( rule__Strategy__ObjectiveAssignment_6 )
+            {
+             before(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3832:1: ( rule__Strategy__ObjectiveAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3832:2: rule__Strategy__ObjectiveAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__ObjectiveAssignment_6_in_rule__Strategy__Group__6__Impl7668);
+            rule__Strategy__ObjectiveAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__6__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3842:1: rule__Strategy__Group__7 : rule__Strategy__Group__7__Impl rule__Strategy__Group__8 ;
+    public final void rule__Strategy__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3846:1: ( rule__Strategy__Group__7__Impl rule__Strategy__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3847:2: rule__Strategy__Group__7__Impl rule__Strategy__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__7__Impl_in_rule__Strategy__Group__77698);
+            rule__Strategy__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__8_in_rule__Strategy__Group__77701);
+            rule__Strategy__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__7"
+
+
+    // $ANTLR start "rule__Strategy__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3854:1: rule__Strategy__Group__7__Impl : ( 'triggeringEvents' ) ;
+    public final void rule__Strategy__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3858:1: ( ( 'triggeringEvents' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3859:1: ( 'triggeringEvents' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3859:1: ( 'triggeringEvents' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3860:1: 'triggeringEvents'
+            {
+             before(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); 
+            match(input,38,FollowSets000.FOLLOW_38_in_rule__Strategy__Group__7__Impl7729); 
+             after(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__7__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3873:1: rule__Strategy__Group__8 : rule__Strategy__Group__8__Impl rule__Strategy__Group__9 ;
+    public final void rule__Strategy__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3877:1: ( rule__Strategy__Group__8__Impl rule__Strategy__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3878:2: rule__Strategy__Group__8__Impl rule__Strategy__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__8__Impl_in_rule__Strategy__Group__87760);
+            rule__Strategy__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__9_in_rule__Strategy__Group__87763);
+            rule__Strategy__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__8"
+
+
+    // $ANTLR start "rule__Strategy__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3885:1: rule__Strategy__Group__8__Impl : ( ( rule__Strategy__TriggeringEventsAssignment_8 ) ) ;
+    public final void rule__Strategy__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3889:1: ( ( ( rule__Strategy__TriggeringEventsAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3890:1: ( ( rule__Strategy__TriggeringEventsAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3890:1: ( ( rule__Strategy__TriggeringEventsAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3891:1: ( rule__Strategy__TriggeringEventsAssignment_8 )
+            {
+             before(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3892:1: ( rule__Strategy__TriggeringEventsAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3892:2: rule__Strategy__TriggeringEventsAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TriggeringEventsAssignment_8_in_rule__Strategy__Group__8__Impl7790);
+            rule__Strategy__TriggeringEventsAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__8__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3902:1: rule__Strategy__Group__9 : rule__Strategy__Group__9__Impl rule__Strategy__Group__10 ;
+    public final void rule__Strategy__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3906:1: ( rule__Strategy__Group__9__Impl rule__Strategy__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3907:2: rule__Strategy__Group__9__Impl rule__Strategy__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__9__Impl_in_rule__Strategy__Group__97820);
+            rule__Strategy__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__10_in_rule__Strategy__Group__97823);
+            rule__Strategy__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__9"
+
+
+    // $ANTLR start "rule__Strategy__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3914:1: rule__Strategy__Group__9__Impl : ( 'tactics' ) ;
+    public final void rule__Strategy__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3918:1: ( ( 'tactics' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3919:1: ( 'tactics' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3919:1: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3920:1: 'tactics'
+            {
+             before(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Strategy__Group__9__Impl7851); 
+             after(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__9__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3933:1: rule__Strategy__Group__10 : rule__Strategy__Group__10__Impl rule__Strategy__Group__11 ;
+    public final void rule__Strategy__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3937:1: ( rule__Strategy__Group__10__Impl rule__Strategy__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3938:2: rule__Strategy__Group__10__Impl rule__Strategy__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__10__Impl_in_rule__Strategy__Group__107882);
+            rule__Strategy__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__11_in_rule__Strategy__Group__107885);
+            rule__Strategy__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__10"
+
+
+    // $ANTLR start "rule__Strategy__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3945:1: rule__Strategy__Group__10__Impl : ( '{' ) ;
+    public final void rule__Strategy__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3949:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3950:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3950:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3951:1: '{'
+            {
+             before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Strategy__Group__10__Impl7913); 
+             after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__10__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3964:1: rule__Strategy__Group__11 : rule__Strategy__Group__11__Impl rule__Strategy__Group__12 ;
+    public final void rule__Strategy__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3968:1: ( rule__Strategy__Group__11__Impl rule__Strategy__Group__12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3969:2: rule__Strategy__Group__11__Impl rule__Strategy__Group__12
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__11__Impl_in_rule__Strategy__Group__117944);
+            rule__Strategy__Group__11__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__12_in_rule__Strategy__Group__117947);
+            rule__Strategy__Group__12();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__11"
+
+
+    // $ANTLR start "rule__Strategy__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3976:1: rule__Strategy__Group__11__Impl : ( ( rule__Strategy__TacticsAssignment_11 ) ) ;
+    public final void rule__Strategy__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3980:1: ( ( ( rule__Strategy__TacticsAssignment_11 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3981:1: ( ( rule__Strategy__TacticsAssignment_11 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3981:1: ( ( rule__Strategy__TacticsAssignment_11 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3982:1: ( rule__Strategy__TacticsAssignment_11 )
+            {
+             before(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3983:1: ( rule__Strategy__TacticsAssignment_11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3983:2: rule__Strategy__TacticsAssignment_11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TacticsAssignment_11_in_rule__Strategy__Group__11__Impl7974);
+            rule__Strategy__TacticsAssignment_11();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__11__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3993:1: rule__Strategy__Group__12 : rule__Strategy__Group__12__Impl rule__Strategy__Group__13 ;
+    public final void rule__Strategy__Group__12() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3997:1: ( rule__Strategy__Group__12__Impl rule__Strategy__Group__13 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:3998:2: rule__Strategy__Group__12__Impl rule__Strategy__Group__13
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__12__Impl_in_rule__Strategy__Group__128004);
+            rule__Strategy__Group__12__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__13_in_rule__Strategy__Group__128007);
+            rule__Strategy__Group__13();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__12"
+
+
+    // $ANTLR start "rule__Strategy__Group__12__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4005:1: rule__Strategy__Group__12__Impl : ( ( rule__Strategy__Group_12__0 )* ) ;
+    public final void rule__Strategy__Group__12__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4009:1: ( ( ( rule__Strategy__Group_12__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4010:1: ( ( rule__Strategy__Group_12__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4010:1: ( ( rule__Strategy__Group_12__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4011:1: ( rule__Strategy__Group_12__0 )*
+            {
+             before(grammarAccess.getStrategyAccess().getGroup_12()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4012:1: ( rule__Strategy__Group_12__0 )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+
+                if ( (LA17_0==25) ) {
+                    alt17=1;
+                }
+
+
+                switch (alt17) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4012:2: rule__Strategy__Group_12__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__0_in_rule__Strategy__Group__12__Impl8034);
+            	    rule__Strategy__Group_12__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop17;
+                }
+            } while (true);
+
+             after(grammarAccess.getStrategyAccess().getGroup_12()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__12__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__13"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4022:1: rule__Strategy__Group__13 : rule__Strategy__Group__13__Impl rule__Strategy__Group__14 ;
+    public final void rule__Strategy__Group__13() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4026:1: ( rule__Strategy__Group__13__Impl rule__Strategy__Group__14 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4027:2: rule__Strategy__Group__13__Impl rule__Strategy__Group__14
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__13__Impl_in_rule__Strategy__Group__138065);
+            rule__Strategy__Group__13__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__14_in_rule__Strategy__Group__138068);
+            rule__Strategy__Group__14();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__13"
+
+
+    // $ANTLR start "rule__Strategy__Group__13__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4034:1: rule__Strategy__Group__13__Impl : ( '}' ) ;
+    public final void rule__Strategy__Group__13__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4038:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4039:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4039:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4040:1: '}'
+            {
+             before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Strategy__Group__13__Impl8096); 
+             after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__13__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__14"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4053:1: rule__Strategy__Group__14 : rule__Strategy__Group__14__Impl rule__Strategy__Group__15 ;
+    public final void rule__Strategy__Group__14() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4057:1: ( rule__Strategy__Group__14__Impl rule__Strategy__Group__15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4058:2: rule__Strategy__Group__14__Impl rule__Strategy__Group__15
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__14__Impl_in_rule__Strategy__Group__148127);
+            rule__Strategy__Group__14__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__15_in_rule__Strategy__Group__148130);
+            rule__Strategy__Group__15();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__14"
+
+
+    // $ANTLR start "rule__Strategy__Group__14__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4065:1: rule__Strategy__Group__14__Impl : ( 'weightingFunction' ) ;
+    public final void rule__Strategy__Group__14__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4069:1: ( ( 'weightingFunction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4070:1: ( 'weightingFunction' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4070:1: ( 'weightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4071:1: 'weightingFunction'
+            {
+             before(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__Strategy__Group__14__Impl8158); 
+             after(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__14__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4084:1: rule__Strategy__Group__15 : rule__Strategy__Group__15__Impl rule__Strategy__Group__16 ;
+    public final void rule__Strategy__Group__15() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4088:1: ( rule__Strategy__Group__15__Impl rule__Strategy__Group__16 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4089:2: rule__Strategy__Group__15__Impl rule__Strategy__Group__16
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__15__Impl_in_rule__Strategy__Group__158189);
+            rule__Strategy__Group__15__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__16_in_rule__Strategy__Group__158192);
+            rule__Strategy__Group__16();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__15"
+
+
+    // $ANTLR start "rule__Strategy__Group__15__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4096:1: rule__Strategy__Group__15__Impl : ( ( rule__Strategy__WeightingFunctionAssignment_15 ) ) ;
+    public final void rule__Strategy__Group__15__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4100:1: ( ( ( rule__Strategy__WeightingFunctionAssignment_15 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4101:1: ( ( rule__Strategy__WeightingFunctionAssignment_15 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4101:1: ( ( rule__Strategy__WeightingFunctionAssignment_15 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4102:1: ( rule__Strategy__WeightingFunctionAssignment_15 )
+            {
+             before(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4103:1: ( rule__Strategy__WeightingFunctionAssignment_15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4103:2: rule__Strategy__WeightingFunctionAssignment_15
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__WeightingFunctionAssignment_15_in_rule__Strategy__Group__15__Impl8219);
+            rule__Strategy__WeightingFunctionAssignment_15();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__15__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group__16"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4113:1: rule__Strategy__Group__16 : rule__Strategy__Group__16__Impl ;
+    public final void rule__Strategy__Group__16() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4117:1: ( rule__Strategy__Group__16__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4118:2: rule__Strategy__Group__16__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__16__Impl_in_rule__Strategy__Group__168249);
+            rule__Strategy__Group__16__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__16"
+
+
+    // $ANTLR start "rule__Strategy__Group__16__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4124:1: rule__Strategy__Group__16__Impl : ( '}' ) ;
+    public final void rule__Strategy__Group__16__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4128:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4129:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4129:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4130:1: '}'
+            {
+             before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Strategy__Group__16__Impl8277); 
+             after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group__16__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group_12__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4177:1: rule__Strategy__Group_12__0 : rule__Strategy__Group_12__0__Impl rule__Strategy__Group_12__1 ;
+    public final void rule__Strategy__Group_12__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4181:1: ( rule__Strategy__Group_12__0__Impl rule__Strategy__Group_12__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4182:2: rule__Strategy__Group_12__0__Impl rule__Strategy__Group_12__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__0__Impl_in_rule__Strategy__Group_12__08342);
+            rule__Strategy__Group_12__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__1_in_rule__Strategy__Group_12__08345);
+            rule__Strategy__Group_12__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group_12__0"
+
+
+    // $ANTLR start "rule__Strategy__Group_12__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4189:1: rule__Strategy__Group_12__0__Impl : ( ',' ) ;
+    public final void rule__Strategy__Group_12__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4193:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4194:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4194:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4195:1: ','
+            {
+             before(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__Strategy__Group_12__0__Impl8373); 
+             after(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group_12__0__Impl"
+
+
+    // $ANTLR start "rule__Strategy__Group_12__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4208:1: rule__Strategy__Group_12__1 : rule__Strategy__Group_12__1__Impl ;
+    public final void rule__Strategy__Group_12__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4212:1: ( rule__Strategy__Group_12__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4213:2: rule__Strategy__Group_12__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__1__Impl_in_rule__Strategy__Group_12__18404);
+            rule__Strategy__Group_12__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group_12__1"
+
+
+    // $ANTLR start "rule__Strategy__Group_12__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4219:1: rule__Strategy__Group_12__1__Impl : ( ( rule__Strategy__TacticsAssignment_12_1 ) ) ;
+    public final void rule__Strategy__Group_12__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4223:1: ( ( ( rule__Strategy__TacticsAssignment_12_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4224:1: ( ( rule__Strategy__TacticsAssignment_12_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4224:1: ( ( rule__Strategy__TacticsAssignment_12_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4225:1: ( rule__Strategy__TacticsAssignment_12_1 )
+            {
+             before(grammarAccess.getStrategyAccess().getTacticsAssignment_12_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4226:1: ( rule__Strategy__TacticsAssignment_12_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4226:2: rule__Strategy__TacticsAssignment_12_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TacticsAssignment_12_1_in_rule__Strategy__Group_12__1__Impl8431);
+            rule__Strategy__TacticsAssignment_12_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getTacticsAssignment_12_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__Group_12__1__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4240:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ;
+    public final void rule__Parameter__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4244:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4245:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__08465);
+            rule__Parameter__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__08468);
+            rule__Parameter__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__0"
+
+
+    // $ANTLR start "rule__Parameter__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4252:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ;
+    public final void rule__Parameter__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4256:1: ( ( 'Parameter' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4257:1: ( 'Parameter' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4257:1: ( 'Parameter' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4258:1: 'Parameter'
+            {
+             before(grammarAccess.getParameterAccess().getParameterKeyword_0()); 
+            match(input,40,FollowSets000.FOLLOW_40_in_rule__Parameter__Group__0__Impl8496); 
+             after(grammarAccess.getParameterAccess().getParameterKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4271:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ;
+    public final void rule__Parameter__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4275:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4276:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__18527);
+            rule__Parameter__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__2_in_rule__Parameter__Group__18530);
+            rule__Parameter__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__1"
+
+
+    // $ANTLR start "rule__Parameter__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4283:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ;
+    public final void rule__Parameter__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4287:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4288:1: ( ( rule__Parameter__NameAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4288:1: ( ( rule__Parameter__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4289:1: ( rule__Parameter__NameAssignment_1 )
+            {
+             before(grammarAccess.getParameterAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4290:1: ( rule__Parameter__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4290:2: rule__Parameter__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl8557);
+            rule__Parameter__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getParameterAccess().getNameAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4300:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ;
+    public final void rule__Parameter__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4304:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4305:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__2__Impl_in_rule__Parameter__Group__28587);
+            rule__Parameter__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__3_in_rule__Parameter__Group__28590);
+            rule__Parameter__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__2"
+
+
+    // $ANTLR start "rule__Parameter__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4312:1: rule__Parameter__Group__2__Impl : ( '{' ) ;
+    public final void rule__Parameter__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4316:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4317:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4317:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4318:1: '{'
+            {
+             before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Parameter__Group__2__Impl8618); 
+             after(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4331:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ;
+    public final void rule__Parameter__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4335:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4336:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__3__Impl_in_rule__Parameter__Group__38649);
+            rule__Parameter__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__4_in_rule__Parameter__Group__38652);
+            rule__Parameter__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__3"
+
+
+    // $ANTLR start "rule__Parameter__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4343:1: rule__Parameter__Group__3__Impl : ( 'type' ) ;
+    public final void rule__Parameter__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4347:1: ( ( 'type' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4348:1: ( 'type' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4348:1: ( 'type' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4349:1: 'type'
+            {
+             before(grammarAccess.getParameterAccess().getTypeKeyword_3()); 
+            match(input,41,FollowSets000.FOLLOW_41_in_rule__Parameter__Group__3__Impl8680); 
+             after(grammarAccess.getParameterAccess().getTypeKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4362:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ;
+    public final void rule__Parameter__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4366:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4367:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__4__Impl_in_rule__Parameter__Group__48711);
+            rule__Parameter__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__5_in_rule__Parameter__Group__48714);
+            rule__Parameter__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__4"
+
+
+    // $ANTLR start "rule__Parameter__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4374:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__TypeAssignment_4 ) ) ;
+    public final void rule__Parameter__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4378:1: ( ( ( rule__Parameter__TypeAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4379:1: ( ( rule__Parameter__TypeAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4379:1: ( ( rule__Parameter__TypeAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4380:1: ( rule__Parameter__TypeAssignment_4 )
+            {
+             before(grammarAccess.getParameterAccess().getTypeAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4381:1: ( rule__Parameter__TypeAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4381:2: rule__Parameter__TypeAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__TypeAssignment_4_in_rule__Parameter__Group__4__Impl8741);
+            rule__Parameter__TypeAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getParameterAccess().getTypeAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4391:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ;
+    public final void rule__Parameter__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4395:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4396:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__5__Impl_in_rule__Parameter__Group__58771);
+            rule__Parameter__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__6_in_rule__Parameter__Group__58774);
+            rule__Parameter__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__5"
+
+
+    // $ANTLR start "rule__Parameter__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4403:1: rule__Parameter__Group__5__Impl : ( 'value' ) ;
+    public final void rule__Parameter__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4407:1: ( ( 'value' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4408:1: ( 'value' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4408:1: ( 'value' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4409:1: 'value'
+            {
+             before(grammarAccess.getParameterAccess().getValueKeyword_5()); 
+            match(input,42,FollowSets000.FOLLOW_42_in_rule__Parameter__Group__5__Impl8802); 
+             after(grammarAccess.getParameterAccess().getValueKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4422:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ;
+    public final void rule__Parameter__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4426:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4427:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__6__Impl_in_rule__Parameter__Group__68833);
+            rule__Parameter__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__7_in_rule__Parameter__Group__68836);
+            rule__Parameter__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__6"
+
+
+    // $ANTLR start "rule__Parameter__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4434:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__ValueAssignment_6 ) ) ;
+    public final void rule__Parameter__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4438:1: ( ( ( rule__Parameter__ValueAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4439:1: ( ( rule__Parameter__ValueAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4439:1: ( ( rule__Parameter__ValueAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4440:1: ( rule__Parameter__ValueAssignment_6 )
+            {
+             before(grammarAccess.getParameterAccess().getValueAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4441:1: ( rule__Parameter__ValueAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4441:2: rule__Parameter__ValueAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__ValueAssignment_6_in_rule__Parameter__Group__6__Impl8863);
+            rule__Parameter__ValueAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getParameterAccess().getValueAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__6__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4451:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ;
+    public final void rule__Parameter__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4455:1: ( rule__Parameter__Group__7__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4456:2: rule__Parameter__Group__7__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__7__Impl_in_rule__Parameter__Group__78893);
+            rule__Parameter__Group__7__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__7"
+
+
+    // $ANTLR start "rule__Parameter__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4462:1: rule__Parameter__Group__7__Impl : ( '}' ) ;
+    public final void rule__Parameter__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4466:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4467:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4467:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4468:1: '}'
+            {
+             before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Parameter__Group__7__Impl8921); 
+             after(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__7__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4497:1: rule__OverallGoal__Group__0 : rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1 ;
+    public final void rule__OverallGoal__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4501:1: ( rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4502:2: rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__0__Impl_in_rule__OverallGoal__Group__08968);
+            rule__OverallGoal__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__1_in_rule__OverallGoal__Group__08971);
+            rule__OverallGoal__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__0"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4509:1: rule__OverallGoal__Group__0__Impl : ( 'OverallGoal' ) ;
+    public final void rule__OverallGoal__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4513:1: ( ( 'OverallGoal' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4514:1: ( 'OverallGoal' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4514:1: ( 'OverallGoal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4515:1: 'OverallGoal'
+            {
+             before(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); 
+            match(input,43,FollowSets000.FOLLOW_43_in_rule__OverallGoal__Group__0__Impl8999); 
+             after(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__0__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4528:1: rule__OverallGoal__Group__1 : rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2 ;
+    public final void rule__OverallGoal__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4532:1: ( rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4533:2: rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__1__Impl_in_rule__OverallGoal__Group__19030);
+            rule__OverallGoal__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__2_in_rule__OverallGoal__Group__19033);
+            rule__OverallGoal__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__1"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4540:1: rule__OverallGoal__Group__1__Impl : ( '{' ) ;
+    public final void rule__OverallGoal__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4544:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4545:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4545:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4546:1: '{'
+            {
+             before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__OverallGoal__Group__1__Impl9061); 
+             after(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__1__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4559:1: rule__OverallGoal__Group__2 : rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3 ;
+    public final void rule__OverallGoal__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4563:1: ( rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4564:2: rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__2__Impl_in_rule__OverallGoal__Group__29092);
+            rule__OverallGoal__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__3_in_rule__OverallGoal__Group__29095);
+            rule__OverallGoal__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__2"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4571:1: rule__OverallGoal__Group__2__Impl : ( 'description' ) ;
+    public final void rule__OverallGoal__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4575:1: ( ( 'description' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4576:1: ( 'description' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4576:1: ( 'description' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4577:1: 'description'
+            {
+             before(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); 
+            match(input,44,FollowSets000.FOLLOW_44_in_rule__OverallGoal__Group__2__Impl9123); 
+             after(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__2__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4590:1: rule__OverallGoal__Group__3 : rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4 ;
+    public final void rule__OverallGoal__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4594:1: ( rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4595:2: rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__3__Impl_in_rule__OverallGoal__Group__39154);
+            rule__OverallGoal__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__4_in_rule__OverallGoal__Group__39157);
+            rule__OverallGoal__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__3"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4602:1: rule__OverallGoal__Group__3__Impl : ( ( rule__OverallGoal__DescriptionAssignment_3 ) ) ;
+    public final void rule__OverallGoal__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4606:1: ( ( ( rule__OverallGoal__DescriptionAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4607:1: ( ( rule__OverallGoal__DescriptionAssignment_3 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4607:1: ( ( rule__OverallGoal__DescriptionAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4608:1: ( rule__OverallGoal__DescriptionAssignment_3 )
+            {
+             before(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4609:1: ( rule__OverallGoal__DescriptionAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4609:2: rule__OverallGoal__DescriptionAssignment_3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__DescriptionAssignment_3_in_rule__OverallGoal__Group__3__Impl9184);
+            rule__OverallGoal__DescriptionAssignment_3();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__3__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4619:1: rule__OverallGoal__Group__4 : rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5 ;
+    public final void rule__OverallGoal__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4623:1: ( rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4624:2: rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__4__Impl_in_rule__OverallGoal__Group__49214);
+            rule__OverallGoal__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__5_in_rule__OverallGoal__Group__49217);
+            rule__OverallGoal__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__4"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4631:1: rule__OverallGoal__Group__4__Impl : ( 'objectives' ) ;
+    public final void rule__OverallGoal__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4635:1: ( ( 'objectives' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4636:1: ( 'objectives' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4636:1: ( 'objectives' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4637:1: 'objectives'
+            {
+             before(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); 
+            match(input,45,FollowSets000.FOLLOW_45_in_rule__OverallGoal__Group__4__Impl9245); 
+             after(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__4__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4650:1: rule__OverallGoal__Group__5 : rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6 ;
+    public final void rule__OverallGoal__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4654:1: ( rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4655:2: rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__5__Impl_in_rule__OverallGoal__Group__59276);
+            rule__OverallGoal__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__6_in_rule__OverallGoal__Group__59279);
+            rule__OverallGoal__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__5"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4662:1: rule__OverallGoal__Group__5__Impl : ( '{' ) ;
+    public final void rule__OverallGoal__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4666:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4667:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4667:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4668:1: '{'
+            {
+             before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__OverallGoal__Group__5__Impl9307); 
+             after(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__5__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4681:1: rule__OverallGoal__Group__6 : rule__OverallGoal__Group__6__Impl rule__OverallGoal__Group__7 ;
+    public final void rule__OverallGoal__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4685:1: ( rule__OverallGoal__Group__6__Impl rule__OverallGoal__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4686:2: rule__OverallGoal__Group__6__Impl rule__OverallGoal__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__6__Impl_in_rule__OverallGoal__Group__69338);
+            rule__OverallGoal__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__7_in_rule__OverallGoal__Group__69341);
+            rule__OverallGoal__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__6"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4693:1: rule__OverallGoal__Group__6__Impl : ( ( rule__OverallGoal__ObjectivesAssignment_6 ) ) ;
+    public final void rule__OverallGoal__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4697:1: ( ( ( rule__OverallGoal__ObjectivesAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4698:1: ( ( rule__OverallGoal__ObjectivesAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4698:1: ( ( rule__OverallGoal__ObjectivesAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4699:1: ( rule__OverallGoal__ObjectivesAssignment_6 )
+            {
+             before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4700:1: ( rule__OverallGoal__ObjectivesAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4700:2: rule__OverallGoal__ObjectivesAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__ObjectivesAssignment_6_in_rule__OverallGoal__Group__6__Impl9368);
+            rule__OverallGoal__ObjectivesAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__6__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4710:1: rule__OverallGoal__Group__7 : rule__OverallGoal__Group__7__Impl rule__OverallGoal__Group__8 ;
+    public final void rule__OverallGoal__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4714:1: ( rule__OverallGoal__Group__7__Impl rule__OverallGoal__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4715:2: rule__OverallGoal__Group__7__Impl rule__OverallGoal__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__7__Impl_in_rule__OverallGoal__Group__79398);
+            rule__OverallGoal__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__8_in_rule__OverallGoal__Group__79401);
+            rule__OverallGoal__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__7"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4722:1: rule__OverallGoal__Group__7__Impl : ( ( rule__OverallGoal__Group_7__0 )* ) ;
+    public final void rule__OverallGoal__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4726:1: ( ( ( rule__OverallGoal__Group_7__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4727:1: ( ( rule__OverallGoal__Group_7__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4727:1: ( ( rule__OverallGoal__Group_7__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4728:1: ( rule__OverallGoal__Group_7__0 )*
+            {
+             before(grammarAccess.getOverallGoalAccess().getGroup_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4729:1: ( rule__OverallGoal__Group_7__0 )*
+            loop18:
+            do {
+                int alt18=2;
+                int LA18_0 = input.LA(1);
+
+                if ( (LA18_0==25) ) {
+                    alt18=1;
+                }
+
+
+                switch (alt18) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4729:2: rule__OverallGoal__Group_7__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__0_in_rule__OverallGoal__Group__7__Impl9428);
+            	    rule__OverallGoal__Group_7__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop18;
+                }
+            } while (true);
+
+             after(grammarAccess.getOverallGoalAccess().getGroup_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__7__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4739:1: rule__OverallGoal__Group__8 : rule__OverallGoal__Group__8__Impl rule__OverallGoal__Group__9 ;
+    public final void rule__OverallGoal__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4743:1: ( rule__OverallGoal__Group__8__Impl rule__OverallGoal__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4744:2: rule__OverallGoal__Group__8__Impl rule__OverallGoal__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__8__Impl_in_rule__OverallGoal__Group__89459);
+            rule__OverallGoal__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__9_in_rule__OverallGoal__Group__89462);
+            rule__OverallGoal__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__8"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4751:1: rule__OverallGoal__Group__8__Impl : ( '}' ) ;
+    public final void rule__OverallGoal__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4755:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4756:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4756:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4757:1: '}'
+            {
+             before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__OverallGoal__Group__8__Impl9490); 
+             after(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__8__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4770:1: rule__OverallGoal__Group__9 : rule__OverallGoal__Group__9__Impl ;
+    public final void rule__OverallGoal__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4774:1: ( rule__OverallGoal__Group__9__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4775:2: rule__OverallGoal__Group__9__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__9__Impl_in_rule__OverallGoal__Group__99521);
+            rule__OverallGoal__Group__9__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__9"
+
+
+    // $ANTLR start "rule__OverallGoal__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4781:1: rule__OverallGoal__Group__9__Impl : ( '}' ) ;
+    public final void rule__OverallGoal__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4785:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4786:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4786:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4787:1: '}'
+            {
+             before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__OverallGoal__Group__9__Impl9549); 
+             after(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group__9__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group_7__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4820:1: rule__OverallGoal__Group_7__0 : rule__OverallGoal__Group_7__0__Impl rule__OverallGoal__Group_7__1 ;
+    public final void rule__OverallGoal__Group_7__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4824:1: ( rule__OverallGoal__Group_7__0__Impl rule__OverallGoal__Group_7__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4825:2: rule__OverallGoal__Group_7__0__Impl rule__OverallGoal__Group_7__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__0__Impl_in_rule__OverallGoal__Group_7__09600);
+            rule__OverallGoal__Group_7__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__1_in_rule__OverallGoal__Group_7__09603);
+            rule__OverallGoal__Group_7__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group_7__0"
+
+
+    // $ANTLR start "rule__OverallGoal__Group_7__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4832:1: rule__OverallGoal__Group_7__0__Impl : ( ',' ) ;
+    public final void rule__OverallGoal__Group_7__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4836:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4837:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4837:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4838:1: ','
+            {
+             before(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__OverallGoal__Group_7__0__Impl9631); 
+             after(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group_7__0__Impl"
+
+
+    // $ANTLR start "rule__OverallGoal__Group_7__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4851:1: rule__OverallGoal__Group_7__1 : rule__OverallGoal__Group_7__1__Impl ;
+    public final void rule__OverallGoal__Group_7__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4855:1: ( rule__OverallGoal__Group_7__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4856:2: rule__OverallGoal__Group_7__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__1__Impl_in_rule__OverallGoal__Group_7__19662);
+            rule__OverallGoal__Group_7__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group_7__1"
+
+
+    // $ANTLR start "rule__OverallGoal__Group_7__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4862:1: rule__OverallGoal__Group_7__1__Impl : ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) ) ;
+    public final void rule__OverallGoal__Group_7__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4866:1: ( ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4867:1: ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4867:1: ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4868:1: ( rule__OverallGoal__ObjectivesAssignment_7_1 )
+            {
+             before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4869:1: ( rule__OverallGoal__ObjectivesAssignment_7_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4869:2: rule__OverallGoal__ObjectivesAssignment_7_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__ObjectivesAssignment_7_1_in_rule__OverallGoal__Group_7__1__Impl9689);
+            rule__OverallGoal__ObjectivesAssignment_7_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__Group_7__1__Impl"
+
+
+    // $ANTLR start "rule__ImportDeclaration__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4883:1: rule__ImportDeclaration__Group__0 : rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 ;
+    public final void rule__ImportDeclaration__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4887:1: ( rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4888:2: rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ImportDeclaration__Group__0__Impl_in_rule__ImportDeclaration__Group__09723);
+            rule__ImportDeclaration__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ImportDeclaration__Group__1_in_rule__ImportDeclaration__Group__09726);
+            rule__ImportDeclaration__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ImportDeclaration__Group__0"
+
+
+    // $ANTLR start "rule__ImportDeclaration__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4895:1: rule__ImportDeclaration__Group__0__Impl : ( 'ImportDeclaration' ) ;
+    public final void rule__ImportDeclaration__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4899:1: ( ( 'ImportDeclaration' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4900:1: ( 'ImportDeclaration' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4900:1: ( 'ImportDeclaration' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4901:1: 'ImportDeclaration'
+            {
+             before(grammarAccess.getImportDeclarationAccess().getImportDeclarationKeyword_0()); 
+            match(input,46,FollowSets000.FOLLOW_46_in_rule__ImportDeclaration__Group__0__Impl9754); 
+             after(grammarAccess.getImportDeclarationAccess().getImportDeclarationKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ImportDeclaration__Group__0__Impl"
+
+
+    // $ANTLR start "rule__ImportDeclaration__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4914:1: rule__ImportDeclaration__Group__1 : rule__ImportDeclaration__Group__1__Impl ;
+    public final void rule__ImportDeclaration__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4918:1: ( rule__ImportDeclaration__Group__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4919:2: rule__ImportDeclaration__Group__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ImportDeclaration__Group__1__Impl_in_rule__ImportDeclaration__Group__19785);
+            rule__ImportDeclaration__Group__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ImportDeclaration__Group__1"
+
+
+    // $ANTLR start "rule__ImportDeclaration__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4925:1: rule__ImportDeclaration__Group__1__Impl : ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) ) ;
+    public final void rule__ImportDeclaration__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4929:1: ( ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4930:1: ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4930:1: ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4931:1: ( rule__ImportDeclaration__ImportURIAssignment_1 )
+            {
+             before(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4932:1: ( rule__ImportDeclaration__ImportURIAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4932:2: rule__ImportDeclaration__ImportURIAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ImportDeclaration__ImportURIAssignment_1_in_rule__ImportDeclaration__Group__1__Impl9812);
+            rule__ImportDeclaration__ImportURIAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ImportDeclaration__Group__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4946:1: rule__AdaptationPlan__Group__0 : rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1 ;
+    public final void rule__AdaptationPlan__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4950:1: ( rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4951:2: rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__0__Impl_in_rule__AdaptationPlan__Group__09846);
+            rule__AdaptationPlan__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__1_in_rule__AdaptationPlan__Group__09849);
+            rule__AdaptationPlan__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__0"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4958:1: rule__AdaptationPlan__Group__0__Impl : ( 'AdaptationPlan' ) ;
+    public final void rule__AdaptationPlan__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4962:1: ( ( 'AdaptationPlan' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4963:1: ( 'AdaptationPlan' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4963:1: ( 'AdaptationPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4964:1: 'AdaptationPlan'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); 
+            match(input,47,FollowSets000.FOLLOW_47_in_rule__AdaptationPlan__Group__0__Impl9877); 
+             after(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4977:1: rule__AdaptationPlan__Group__1 : rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2 ;
+    public final void rule__AdaptationPlan__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4981:1: ( rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4982:2: rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__1__Impl_in_rule__AdaptationPlan__Group__19908);
+            rule__AdaptationPlan__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__2_in_rule__AdaptationPlan__Group__19911);
+            rule__AdaptationPlan__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__1"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4989:1: rule__AdaptationPlan__Group__1__Impl : ( ( rule__AdaptationPlan__IdAssignment_1 ) ) ;
+    public final void rule__AdaptationPlan__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4993:1: ( ( ( rule__AdaptationPlan__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4994:1: ( ( rule__AdaptationPlan__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4994:1: ( ( rule__AdaptationPlan__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4995:1: ( rule__AdaptationPlan__IdAssignment_1 )
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4996:1: ( rule__AdaptationPlan__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:4996:2: rule__AdaptationPlan__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__IdAssignment_1_in_rule__AdaptationPlan__Group__1__Impl9938);
+            rule__AdaptationPlan__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5006:1: rule__AdaptationPlan__Group__2 : rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3 ;
+    public final void rule__AdaptationPlan__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5010:1: ( rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5011:2: rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__2__Impl_in_rule__AdaptationPlan__Group__29968);
+            rule__AdaptationPlan__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__3_in_rule__AdaptationPlan__Group__29971);
+            rule__AdaptationPlan__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__2"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5018:1: rule__AdaptationPlan__Group__2__Impl : ( '{' ) ;
+    public final void rule__AdaptationPlan__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5022:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5023:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5023:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5024:1: '{'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationPlan__Group__2__Impl9999); 
+             after(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__2__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5037:1: rule__AdaptationPlan__Group__3 : rule__AdaptationPlan__Group__3__Impl rule__AdaptationPlan__Group__4 ;
+    public final void rule__AdaptationPlan__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5041:1: ( rule__AdaptationPlan__Group__3__Impl rule__AdaptationPlan__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5042:2: rule__AdaptationPlan__Group__3__Impl rule__AdaptationPlan__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__3__Impl_in_rule__AdaptationPlan__Group__310030);
+            rule__AdaptationPlan__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__4_in_rule__AdaptationPlan__Group__310033);
+            rule__AdaptationPlan__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__3"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5049:1: rule__AdaptationPlan__Group__3__Impl : ( 'name' ) ;
+    public final void rule__AdaptationPlan__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5053:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5054:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5054:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5055:1: 'name'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__AdaptationPlan__Group__3__Impl10061); 
+             after(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__3__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5068:1: rule__AdaptationPlan__Group__4 : rule__AdaptationPlan__Group__4__Impl rule__AdaptationPlan__Group__5 ;
+    public final void rule__AdaptationPlan__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5072:1: ( rule__AdaptationPlan__Group__4__Impl rule__AdaptationPlan__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5073:2: rule__AdaptationPlan__Group__4__Impl rule__AdaptationPlan__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__4__Impl_in_rule__AdaptationPlan__Group__410092);
+            rule__AdaptationPlan__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__5_in_rule__AdaptationPlan__Group__410095);
+            rule__AdaptationPlan__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__4"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5080:1: rule__AdaptationPlan__Group__4__Impl : ( ( rule__AdaptationPlan__NameAssignment_4 ) ) ;
+    public final void rule__AdaptationPlan__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5084:1: ( ( ( rule__AdaptationPlan__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5085:1: ( ( rule__AdaptationPlan__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5085:1: ( ( rule__AdaptationPlan__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5086:1: ( rule__AdaptationPlan__NameAssignment_4 )
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5087:1: ( rule__AdaptationPlan__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5087:2: rule__AdaptationPlan__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__NameAssignment_4_in_rule__AdaptationPlan__Group__4__Impl10122);
+            rule__AdaptationPlan__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__4__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5097:1: rule__AdaptationPlan__Group__5 : rule__AdaptationPlan__Group__5__Impl rule__AdaptationPlan__Group__6 ;
+    public final void rule__AdaptationPlan__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5101:1: ( rule__AdaptationPlan__Group__5__Impl rule__AdaptationPlan__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5102:2: rule__AdaptationPlan__Group__5__Impl rule__AdaptationPlan__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__5__Impl_in_rule__AdaptationPlan__Group__510152);
+            rule__AdaptationPlan__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__6_in_rule__AdaptationPlan__Group__510155);
+            rule__AdaptationPlan__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__5"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5109:1: rule__AdaptationPlan__Group__5__Impl : ( ( rule__AdaptationPlan__Group_5__0 )? ) ;
+    public final void rule__AdaptationPlan__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5113:1: ( ( ( rule__AdaptationPlan__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5114:1: ( ( rule__AdaptationPlan__Group_5__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5114:1: ( ( rule__AdaptationPlan__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5115:1: ( rule__AdaptationPlan__Group_5__0 )?
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5116:1: ( rule__AdaptationPlan__Group_5__0 )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
+
+            if ( (LA19_0==48) ) {
+                alt19=1;
+            }
+            switch (alt19) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5116:2: rule__AdaptationPlan__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__0_in_rule__AdaptationPlan__Group__5__Impl10182);
+                    rule__AdaptationPlan__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getGroup_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__5__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5126:1: rule__AdaptationPlan__Group__6 : rule__AdaptationPlan__Group__6__Impl ;
+    public final void rule__AdaptationPlan__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5130:1: ( rule__AdaptationPlan__Group__6__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5131:2: rule__AdaptationPlan__Group__6__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__6__Impl_in_rule__AdaptationPlan__Group__610213);
+            rule__AdaptationPlan__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__6"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5137:1: rule__AdaptationPlan__Group__6__Impl : ( '}' ) ;
+    public final void rule__AdaptationPlan__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5141:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5142:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5142:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5143:1: '}'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationPlan__Group__6__Impl10241); 
+             after(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group__6__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5170:1: rule__AdaptationPlan__Group_5__0 : rule__AdaptationPlan__Group_5__0__Impl rule__AdaptationPlan__Group_5__1 ;
+    public final void rule__AdaptationPlan__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5174:1: ( rule__AdaptationPlan__Group_5__0__Impl rule__AdaptationPlan__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5175:2: rule__AdaptationPlan__Group_5__0__Impl rule__AdaptationPlan__Group_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__0__Impl_in_rule__AdaptationPlan__Group_5__010286);
+            rule__AdaptationPlan__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__1_in_rule__AdaptationPlan__Group_5__010289);
+            rule__AdaptationPlan__Group_5__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__0"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5182:1: rule__AdaptationPlan__Group_5__0__Impl : ( 'steps' ) ;
+    public final void rule__AdaptationPlan__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5186:1: ( ( 'steps' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5187:1: ( 'steps' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5187:1: ( 'steps' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5188:1: 'steps'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); 
+            match(input,48,FollowSets000.FOLLOW_48_in_rule__AdaptationPlan__Group_5__0__Impl10317); 
+             after(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5201:1: rule__AdaptationPlan__Group_5__1 : rule__AdaptationPlan__Group_5__1__Impl rule__AdaptationPlan__Group_5__2 ;
+    public final void rule__AdaptationPlan__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5205:1: ( rule__AdaptationPlan__Group_5__1__Impl rule__AdaptationPlan__Group_5__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5206:2: rule__AdaptationPlan__Group_5__1__Impl rule__AdaptationPlan__Group_5__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__1__Impl_in_rule__AdaptationPlan__Group_5__110348);
+            rule__AdaptationPlan__Group_5__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__2_in_rule__AdaptationPlan__Group_5__110351);
+            rule__AdaptationPlan__Group_5__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__1"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5213:1: rule__AdaptationPlan__Group_5__1__Impl : ( '{' ) ;
+    public final void rule__AdaptationPlan__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5217:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5218:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5218:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5219:1: '{'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationPlan__Group_5__1__Impl10379); 
+             after(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5232:1: rule__AdaptationPlan__Group_5__2 : rule__AdaptationPlan__Group_5__2__Impl rule__AdaptationPlan__Group_5__3 ;
+    public final void rule__AdaptationPlan__Group_5__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5236:1: ( rule__AdaptationPlan__Group_5__2__Impl rule__AdaptationPlan__Group_5__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5237:2: rule__AdaptationPlan__Group_5__2__Impl rule__AdaptationPlan__Group_5__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__2__Impl_in_rule__AdaptationPlan__Group_5__210410);
+            rule__AdaptationPlan__Group_5__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__3_in_rule__AdaptationPlan__Group_5__210413);
+            rule__AdaptationPlan__Group_5__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__2"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5244:1: rule__AdaptationPlan__Group_5__2__Impl : ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) ) ;
+    public final void rule__AdaptationPlan__Group_5__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5248:1: ( ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5249:1: ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5249:1: ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5250:1: ( rule__AdaptationPlan__StepsAssignment_5_2 )
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5251:1: ( rule__AdaptationPlan__StepsAssignment_5_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5251:2: rule__AdaptationPlan__StepsAssignment_5_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_5_2_in_rule__AdaptationPlan__Group_5__2__Impl10440);
+            rule__AdaptationPlan__StepsAssignment_5_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__2__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5261:1: rule__AdaptationPlan__Group_5__3 : rule__AdaptationPlan__Group_5__3__Impl rule__AdaptationPlan__Group_5__4 ;
+    public final void rule__AdaptationPlan__Group_5__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5265:1: ( rule__AdaptationPlan__Group_5__3__Impl rule__AdaptationPlan__Group_5__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5266:2: rule__AdaptationPlan__Group_5__3__Impl rule__AdaptationPlan__Group_5__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__3__Impl_in_rule__AdaptationPlan__Group_5__310470);
+            rule__AdaptationPlan__Group_5__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__4_in_rule__AdaptationPlan__Group_5__310473);
+            rule__AdaptationPlan__Group_5__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__3"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5273:1: rule__AdaptationPlan__Group_5__3__Impl : ( ( rule__AdaptationPlan__Group_5_3__0 )* ) ;
+    public final void rule__AdaptationPlan__Group_5__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5277:1: ( ( ( rule__AdaptationPlan__Group_5_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5278:1: ( ( rule__AdaptationPlan__Group_5_3__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5278:1: ( ( rule__AdaptationPlan__Group_5_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5279:1: ( rule__AdaptationPlan__Group_5_3__0 )*
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getGroup_5_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5280:1: ( rule__AdaptationPlan__Group_5_3__0 )*
+            loop20:
+            do {
+                int alt20=2;
+                int LA20_0 = input.LA(1);
+
+                if ( (LA20_0==25) ) {
+                    alt20=1;
+                }
+
+
+                switch (alt20) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5280:2: rule__AdaptationPlan__Group_5_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__0_in_rule__AdaptationPlan__Group_5__3__Impl10500);
+            	    rule__AdaptationPlan__Group_5_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop20;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationPlanAccess().getGroup_5_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__3__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5290:1: rule__AdaptationPlan__Group_5__4 : rule__AdaptationPlan__Group_5__4__Impl ;
+    public final void rule__AdaptationPlan__Group_5__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5294:1: ( rule__AdaptationPlan__Group_5__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5295:2: rule__AdaptationPlan__Group_5__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__4__Impl_in_rule__AdaptationPlan__Group_5__410531);
+            rule__AdaptationPlan__Group_5__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__4"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5301:1: rule__AdaptationPlan__Group_5__4__Impl : ( '}' ) ;
+    public final void rule__AdaptationPlan__Group_5__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5305:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5306:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5306:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5307:1: '}'
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationPlan__Group_5__4__Impl10559); 
+             after(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5__4__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5330:1: rule__AdaptationPlan__Group_5_3__0 : rule__AdaptationPlan__Group_5_3__0__Impl rule__AdaptationPlan__Group_5_3__1 ;
+    public final void rule__AdaptationPlan__Group_5_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5334:1: ( rule__AdaptationPlan__Group_5_3__0__Impl rule__AdaptationPlan__Group_5_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5335:2: rule__AdaptationPlan__Group_5_3__0__Impl rule__AdaptationPlan__Group_5_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__0__Impl_in_rule__AdaptationPlan__Group_5_3__010600);
+            rule__AdaptationPlan__Group_5_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__1_in_rule__AdaptationPlan__Group_5_3__010603);
+            rule__AdaptationPlan__Group_5_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5_3__0"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5342:1: rule__AdaptationPlan__Group_5_3__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationPlan__Group_5_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5346:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5347:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5347:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5348:1: ','
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationPlan__Group_5_3__0__Impl10631); 
+             after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5_3__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5361:1: rule__AdaptationPlan__Group_5_3__1 : rule__AdaptationPlan__Group_5_3__1__Impl ;
+    public final void rule__AdaptationPlan__Group_5_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5365:1: ( rule__AdaptationPlan__Group_5_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5366:2: rule__AdaptationPlan__Group_5_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__1__Impl_in_rule__AdaptationPlan__Group_5_3__110662);
+            rule__AdaptationPlan__Group_5_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5_3__1"
+
+
+    // $ANTLR start "rule__AdaptationPlan__Group_5_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5372:1: rule__AdaptationPlan__Group_5_3__1__Impl : ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) ) ;
+    public final void rule__AdaptationPlan__Group_5_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5376:1: ( ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5377:1: ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5377:1: ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5378:1: ( rule__AdaptationPlan__StepsAssignment_5_3_1 )
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5379:1: ( rule__AdaptationPlan__StepsAssignment_5_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5379:2: rule__AdaptationPlan__StepsAssignment_5_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_5_3_1_in_rule__AdaptationPlan__Group_5_3__1__Impl10689);
+            rule__AdaptationPlan__StepsAssignment_5_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__Group_5_3__1__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5393:1: rule__StartAction__Group__0 : rule__StartAction__Group__0__Impl rule__StartAction__Group__1 ;
+    public final void rule__StartAction__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5397:1: ( rule__StartAction__Group__0__Impl rule__StartAction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5398:2: rule__StartAction__Group__0__Impl rule__StartAction__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__0__Impl_in_rule__StartAction__Group__010723);
+            rule__StartAction__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__1_in_rule__StartAction__Group__010726);
+            rule__StartAction__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__0"
+
+
+    // $ANTLR start "rule__StartAction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5405:1: rule__StartAction__Group__0__Impl : ( () ) ;
+    public final void rule__StartAction__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5409:1: ( ( () ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5410:1: ( () )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5410:1: ( () )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5411:1: ()
+            {
+             before(grammarAccess.getStartActionAccess().getStartActionAction_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5412:1: ()
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5414:1: 
+            {
+            }
+
+             after(grammarAccess.getStartActionAccess().getStartActionAction_0()); 
+
+            }
+
+
+            }
+
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__0__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5424:1: rule__StartAction__Group__1 : rule__StartAction__Group__1__Impl rule__StartAction__Group__2 ;
+    public final void rule__StartAction__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5428:1: ( rule__StartAction__Group__1__Impl rule__StartAction__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5429:2: rule__StartAction__Group__1__Impl rule__StartAction__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__1__Impl_in_rule__StartAction__Group__110784);
+            rule__StartAction__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__2_in_rule__StartAction__Group__110787);
+            rule__StartAction__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__1"
+
+
+    // $ANTLR start "rule__StartAction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5436:1: rule__StartAction__Group__1__Impl : ( 'StartAction' ) ;
+    public final void rule__StartAction__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5440:1: ( ( 'StartAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5441:1: ( 'StartAction' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5441:1: ( 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5442:1: 'StartAction'
+            {
+             before(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); 
+            match(input,49,FollowSets000.FOLLOW_49_in_rule__StartAction__Group__1__Impl10815); 
+             after(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__1__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5455:1: rule__StartAction__Group__2 : rule__StartAction__Group__2__Impl rule__StartAction__Group__3 ;
+    public final void rule__StartAction__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5459:1: ( rule__StartAction__Group__2__Impl rule__StartAction__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5460:2: rule__StartAction__Group__2__Impl rule__StartAction__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__2__Impl_in_rule__StartAction__Group__210846);
+            rule__StartAction__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__3_in_rule__StartAction__Group__210849);
+            rule__StartAction__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__2"
+
+
+    // $ANTLR start "rule__StartAction__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5467:1: rule__StartAction__Group__2__Impl : ( ( rule__StartAction__IdAssignment_2 ) ) ;
+    public final void rule__StartAction__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5471:1: ( ( ( rule__StartAction__IdAssignment_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5472:1: ( ( rule__StartAction__IdAssignment_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5472:1: ( ( rule__StartAction__IdAssignment_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5473:1: ( rule__StartAction__IdAssignment_2 )
+            {
+             before(grammarAccess.getStartActionAccess().getIdAssignment_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5474:1: ( rule__StartAction__IdAssignment_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5474:2: rule__StartAction__IdAssignment_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__IdAssignment_2_in_rule__StartAction__Group__2__Impl10876);
+            rule__StartAction__IdAssignment_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getIdAssignment_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__2__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5484:1: rule__StartAction__Group__3 : rule__StartAction__Group__3__Impl rule__StartAction__Group__4 ;
+    public final void rule__StartAction__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5488:1: ( rule__StartAction__Group__3__Impl rule__StartAction__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5489:2: rule__StartAction__Group__3__Impl rule__StartAction__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__3__Impl_in_rule__StartAction__Group__310906);
+            rule__StartAction__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__4_in_rule__StartAction__Group__310909);
+            rule__StartAction__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__3"
+
+
+    // $ANTLR start "rule__StartAction__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5496:1: rule__StartAction__Group__3__Impl : ( '{' ) ;
+    public final void rule__StartAction__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5500:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5501:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5501:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5502:1: '{'
+            {
+             before(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__StartAction__Group__3__Impl10937); 
+             after(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__3__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5515:1: rule__StartAction__Group__4 : rule__StartAction__Group__4__Impl rule__StartAction__Group__5 ;
+    public final void rule__StartAction__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5519:1: ( rule__StartAction__Group__4__Impl rule__StartAction__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5520:2: rule__StartAction__Group__4__Impl rule__StartAction__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__4__Impl_in_rule__StartAction__Group__410968);
+            rule__StartAction__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__5_in_rule__StartAction__Group__410971);
+            rule__StartAction__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__4"
+
+
+    // $ANTLR start "rule__StartAction__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5527:1: rule__StartAction__Group__4__Impl : ( ( rule__StartAction__Group_4__0 )? ) ;
+    public final void rule__StartAction__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5531:1: ( ( ( rule__StartAction__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5532:1: ( ( rule__StartAction__Group_4__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5532:1: ( ( rule__StartAction__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5533:1: ( rule__StartAction__Group_4__0 )?
+            {
+             before(grammarAccess.getStartActionAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5534:1: ( rule__StartAction__Group_4__0 )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
+
+            if ( (LA21_0==50) ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5534:2: rule__StartAction__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__0_in_rule__StartAction__Group__4__Impl10998);
+                    rule__StartAction__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getGroup_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__4__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5544:1: rule__StartAction__Group__5 : rule__StartAction__Group__5__Impl rule__StartAction__Group__6 ;
+    public final void rule__StartAction__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5548:1: ( rule__StartAction__Group__5__Impl rule__StartAction__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5549:2: rule__StartAction__Group__5__Impl rule__StartAction__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__5__Impl_in_rule__StartAction__Group__511029);
+            rule__StartAction__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__6_in_rule__StartAction__Group__511032);
+            rule__StartAction__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__5"
+
+
+    // $ANTLR start "rule__StartAction__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5556:1: rule__StartAction__Group__5__Impl : ( ( rule__StartAction__Group_5__0 )? ) ;
+    public final void rule__StartAction__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5560:1: ( ( ( rule__StartAction__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5561:1: ( ( rule__StartAction__Group_5__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5561:1: ( ( rule__StartAction__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5562:1: ( rule__StartAction__Group_5__0 )?
+            {
+             before(grammarAccess.getStartActionAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5563:1: ( rule__StartAction__Group_5__0 )?
+            int alt22=2;
+            int LA22_0 = input.LA(1);
+
+            if ( (LA22_0==51) ) {
+                alt22=1;
+            }
+            switch (alt22) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5563:2: rule__StartAction__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__0_in_rule__StartAction__Group__5__Impl11059);
+                    rule__StartAction__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getGroup_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__5__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5573:1: rule__StartAction__Group__6 : rule__StartAction__Group__6__Impl ;
+    public final void rule__StartAction__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5577:1: ( rule__StartAction__Group__6__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5578:2: rule__StartAction__Group__6__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__6__Impl_in_rule__StartAction__Group__611090);
+            rule__StartAction__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__6"
+
+
+    // $ANTLR start "rule__StartAction__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5584:1: rule__StartAction__Group__6__Impl : ( '}' ) ;
+    public final void rule__StartAction__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5588:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5589:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5589:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5590:1: '}'
+            {
+             before(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__StartAction__Group__6__Impl11118); 
+             after(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group__6__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5617:1: rule__StartAction__Group_4__0 : rule__StartAction__Group_4__0__Impl rule__StartAction__Group_4__1 ;
+    public final void rule__StartAction__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5621:1: ( rule__StartAction__Group_4__0__Impl rule__StartAction__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5622:2: rule__StartAction__Group_4__0__Impl rule__StartAction__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__0__Impl_in_rule__StartAction__Group_4__011163);
+            rule__StartAction__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__1_in_rule__StartAction__Group_4__011166);
+            rule__StartAction__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_4__0"
+
+
+    // $ANTLR start "rule__StartAction__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5629:1: rule__StartAction__Group_4__0__Impl : ( 'predecessor' ) ;
+    public final void rule__StartAction__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5633:1: ( ( 'predecessor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5634:1: ( 'predecessor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5634:1: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5635:1: 'predecessor'
+            {
+             before(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); 
+            match(input,50,FollowSets000.FOLLOW_50_in_rule__StartAction__Group_4__0__Impl11194); 
+             after(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5648:1: rule__StartAction__Group_4__1 : rule__StartAction__Group_4__1__Impl ;
+    public final void rule__StartAction__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5652:1: ( rule__StartAction__Group_4__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5653:2: rule__StartAction__Group_4__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__1__Impl_in_rule__StartAction__Group_4__111225);
+            rule__StartAction__Group_4__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_4__1"
+
+
+    // $ANTLR start "rule__StartAction__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5659:1: rule__StartAction__Group_4__1__Impl : ( ( rule__StartAction__PredecessorAssignment_4_1 ) ) ;
+    public final void rule__StartAction__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5663:1: ( ( ( rule__StartAction__PredecessorAssignment_4_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5664:1: ( ( rule__StartAction__PredecessorAssignment_4_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5664:1: ( ( rule__StartAction__PredecessorAssignment_4_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5665:1: ( rule__StartAction__PredecessorAssignment_4_1 )
+            {
+             before(grammarAccess.getStartActionAccess().getPredecessorAssignment_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5666:1: ( rule__StartAction__PredecessorAssignment_4_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5666:2: rule__StartAction__PredecessorAssignment_4_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__PredecessorAssignment_4_1_in_rule__StartAction__Group_4__1__Impl11252);
+            rule__StartAction__PredecessorAssignment_4_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getPredecessorAssignment_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5680:1: rule__StartAction__Group_5__0 : rule__StartAction__Group_5__0__Impl rule__StartAction__Group_5__1 ;
+    public final void rule__StartAction__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5684:1: ( rule__StartAction__Group_5__0__Impl rule__StartAction__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5685:2: rule__StartAction__Group_5__0__Impl rule__StartAction__Group_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__0__Impl_in_rule__StartAction__Group_5__011286);
+            rule__StartAction__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__1_in_rule__StartAction__Group_5__011289);
+            rule__StartAction__Group_5__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_5__0"
+
+
+    // $ANTLR start "rule__StartAction__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5692:1: rule__StartAction__Group_5__0__Impl : ( 'successor' ) ;
+    public final void rule__StartAction__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5696:1: ( ( 'successor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5697:1: ( 'successor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5697:1: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5698:1: 'successor'
+            {
+             before(grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0()); 
+            match(input,51,FollowSets000.FOLLOW_51_in_rule__StartAction__Group_5__0__Impl11317); 
+             after(grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__StartAction__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5711:1: rule__StartAction__Group_5__1 : rule__StartAction__Group_5__1__Impl ;
+    public final void rule__StartAction__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5715:1: ( rule__StartAction__Group_5__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5716:2: rule__StartAction__Group_5__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__1__Impl_in_rule__StartAction__Group_5__111348);
+            rule__StartAction__Group_5__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_5__1"
+
+
+    // $ANTLR start "rule__StartAction__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5722:1: rule__StartAction__Group_5__1__Impl : ( ( rule__StartAction__SuccessorAssignment_5_1 ) ) ;
+    public final void rule__StartAction__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5726:1: ( ( ( rule__StartAction__SuccessorAssignment_5_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5727:1: ( ( rule__StartAction__SuccessorAssignment_5_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5727:1: ( ( rule__StartAction__SuccessorAssignment_5_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5728:1: ( rule__StartAction__SuccessorAssignment_5_1 )
+            {
+             before(grammarAccess.getStartActionAccess().getSuccessorAssignment_5_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5729:1: ( rule__StartAction__SuccessorAssignment_5_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5729:2: rule__StartAction__SuccessorAssignment_5_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__SuccessorAssignment_5_1_in_rule__StartAction__Group_5__1__Impl11375);
+            rule__StartAction__SuccessorAssignment_5_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getSuccessorAssignment_5_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__Group_5__1__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5743:1: rule__StopAction__Group__0 : rule__StopAction__Group__0__Impl rule__StopAction__Group__1 ;
+    public final void rule__StopAction__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5747:1: ( rule__StopAction__Group__0__Impl rule__StopAction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5748:2: rule__StopAction__Group__0__Impl rule__StopAction__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__0__Impl_in_rule__StopAction__Group__011409);
+            rule__StopAction__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__1_in_rule__StopAction__Group__011412);
+            rule__StopAction__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__0"
+
+
+    // $ANTLR start "rule__StopAction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5755:1: rule__StopAction__Group__0__Impl : ( () ) ;
+    public final void rule__StopAction__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5759:1: ( ( () ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5760:1: ( () )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5760:1: ( () )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5761:1: ()
+            {
+             before(grammarAccess.getStopActionAccess().getStopActionAction_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5762:1: ()
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5764:1: 
+            {
+            }
+
+             after(grammarAccess.getStopActionAccess().getStopActionAction_0()); 
+
+            }
+
+
+            }
+
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__0__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5774:1: rule__StopAction__Group__1 : rule__StopAction__Group__1__Impl rule__StopAction__Group__2 ;
+    public final void rule__StopAction__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5778:1: ( rule__StopAction__Group__1__Impl rule__StopAction__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5779:2: rule__StopAction__Group__1__Impl rule__StopAction__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__1__Impl_in_rule__StopAction__Group__111470);
+            rule__StopAction__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__2_in_rule__StopAction__Group__111473);
+            rule__StopAction__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__1"
+
+
+    // $ANTLR start "rule__StopAction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5786:1: rule__StopAction__Group__1__Impl : ( 'StopAction' ) ;
+    public final void rule__StopAction__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5790:1: ( ( 'StopAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5791:1: ( 'StopAction' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5791:1: ( 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5792:1: 'StopAction'
+            {
+             before(grammarAccess.getStopActionAccess().getStopActionKeyword_1()); 
+            match(input,52,FollowSets000.FOLLOW_52_in_rule__StopAction__Group__1__Impl11501); 
+             after(grammarAccess.getStopActionAccess().getStopActionKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__1__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5805:1: rule__StopAction__Group__2 : rule__StopAction__Group__2__Impl rule__StopAction__Group__3 ;
+    public final void rule__StopAction__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5809:1: ( rule__StopAction__Group__2__Impl rule__StopAction__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5810:2: rule__StopAction__Group__2__Impl rule__StopAction__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__2__Impl_in_rule__StopAction__Group__211532);
+            rule__StopAction__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__3_in_rule__StopAction__Group__211535);
+            rule__StopAction__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__2"
+
+
+    // $ANTLR start "rule__StopAction__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5817:1: rule__StopAction__Group__2__Impl : ( ( rule__StopAction__IdAssignment_2 ) ) ;
+    public final void rule__StopAction__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5821:1: ( ( ( rule__StopAction__IdAssignment_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5822:1: ( ( rule__StopAction__IdAssignment_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5822:1: ( ( rule__StopAction__IdAssignment_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5823:1: ( rule__StopAction__IdAssignment_2 )
+            {
+             before(grammarAccess.getStopActionAccess().getIdAssignment_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5824:1: ( rule__StopAction__IdAssignment_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5824:2: rule__StopAction__IdAssignment_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__IdAssignment_2_in_rule__StopAction__Group__2__Impl11562);
+            rule__StopAction__IdAssignment_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getIdAssignment_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__2__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5834:1: rule__StopAction__Group__3 : rule__StopAction__Group__3__Impl rule__StopAction__Group__4 ;
+    public final void rule__StopAction__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5838:1: ( rule__StopAction__Group__3__Impl rule__StopAction__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5839:2: rule__StopAction__Group__3__Impl rule__StopAction__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__3__Impl_in_rule__StopAction__Group__311592);
+            rule__StopAction__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__4_in_rule__StopAction__Group__311595);
+            rule__StopAction__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__3"
+
+
+    // $ANTLR start "rule__StopAction__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5846:1: rule__StopAction__Group__3__Impl : ( '{' ) ;
+    public final void rule__StopAction__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5850:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5851:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5851:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5852:1: '{'
+            {
+             before(grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__StopAction__Group__3__Impl11623); 
+             after(grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__3__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5865:1: rule__StopAction__Group__4 : rule__StopAction__Group__4__Impl rule__StopAction__Group__5 ;
+    public final void rule__StopAction__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5869:1: ( rule__StopAction__Group__4__Impl rule__StopAction__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5870:2: rule__StopAction__Group__4__Impl rule__StopAction__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__4__Impl_in_rule__StopAction__Group__411654);
+            rule__StopAction__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__5_in_rule__StopAction__Group__411657);
+            rule__StopAction__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__4"
+
+
+    // $ANTLR start "rule__StopAction__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5877:1: rule__StopAction__Group__4__Impl : ( ( rule__StopAction__Group_4__0 )? ) ;
+    public final void rule__StopAction__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5881:1: ( ( ( rule__StopAction__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5882:1: ( ( rule__StopAction__Group_4__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5882:1: ( ( rule__StopAction__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5883:1: ( rule__StopAction__Group_4__0 )?
+            {
+             before(grammarAccess.getStopActionAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5884:1: ( rule__StopAction__Group_4__0 )?
+            int alt23=2;
+            int LA23_0 = input.LA(1);
+
+            if ( (LA23_0==50) ) {
+                alt23=1;
+            }
+            switch (alt23) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5884:2: rule__StopAction__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__0_in_rule__StopAction__Group__4__Impl11684);
+                    rule__StopAction__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getGroup_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__4__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5894:1: rule__StopAction__Group__5 : rule__StopAction__Group__5__Impl rule__StopAction__Group__6 ;
+    public final void rule__StopAction__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5898:1: ( rule__StopAction__Group__5__Impl rule__StopAction__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5899:2: rule__StopAction__Group__5__Impl rule__StopAction__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__5__Impl_in_rule__StopAction__Group__511715);
+            rule__StopAction__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__6_in_rule__StopAction__Group__511718);
+            rule__StopAction__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__5"
+
+
+    // $ANTLR start "rule__StopAction__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5906:1: rule__StopAction__Group__5__Impl : ( ( rule__StopAction__Group_5__0 )? ) ;
+    public final void rule__StopAction__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5910:1: ( ( ( rule__StopAction__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5911:1: ( ( rule__StopAction__Group_5__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5911:1: ( ( rule__StopAction__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5912:1: ( rule__StopAction__Group_5__0 )?
+            {
+             before(grammarAccess.getStopActionAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5913:1: ( rule__StopAction__Group_5__0 )?
+            int alt24=2;
+            int LA24_0 = input.LA(1);
+
+            if ( (LA24_0==51) ) {
+                alt24=1;
+            }
+            switch (alt24) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5913:2: rule__StopAction__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__0_in_rule__StopAction__Group__5__Impl11745);
+                    rule__StopAction__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getGroup_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__5__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5923:1: rule__StopAction__Group__6 : rule__StopAction__Group__6__Impl ;
+    public final void rule__StopAction__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5927:1: ( rule__StopAction__Group__6__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5928:2: rule__StopAction__Group__6__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__6__Impl_in_rule__StopAction__Group__611776);
+            rule__StopAction__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__6"
+
+
+    // $ANTLR start "rule__StopAction__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5934:1: rule__StopAction__Group__6__Impl : ( '}' ) ;
+    public final void rule__StopAction__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5938:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5939:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5939:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5940:1: '}'
+            {
+             before(grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__StopAction__Group__6__Impl11804); 
+             after(grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group__6__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5967:1: rule__StopAction__Group_4__0 : rule__StopAction__Group_4__0__Impl rule__StopAction__Group_4__1 ;
+    public final void rule__StopAction__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5971:1: ( rule__StopAction__Group_4__0__Impl rule__StopAction__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5972:2: rule__StopAction__Group_4__0__Impl rule__StopAction__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__0__Impl_in_rule__StopAction__Group_4__011849);
+            rule__StopAction__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__1_in_rule__StopAction__Group_4__011852);
+            rule__StopAction__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_4__0"
+
+
+    // $ANTLR start "rule__StopAction__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5979:1: rule__StopAction__Group_4__0__Impl : ( 'predecessor' ) ;
+    public final void rule__StopAction__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5983:1: ( ( 'predecessor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5984:1: ( 'predecessor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5984:1: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5985:1: 'predecessor'
+            {
+             before(grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0()); 
+            match(input,50,FollowSets000.FOLLOW_50_in_rule__StopAction__Group_4__0__Impl11880); 
+             after(grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:5998:1: rule__StopAction__Group_4__1 : rule__StopAction__Group_4__1__Impl ;
+    public final void rule__StopAction__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6002:1: ( rule__StopAction__Group_4__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6003:2: rule__StopAction__Group_4__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__1__Impl_in_rule__StopAction__Group_4__111911);
+            rule__StopAction__Group_4__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_4__1"
+
+
+    // $ANTLR start "rule__StopAction__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6009:1: rule__StopAction__Group_4__1__Impl : ( ( rule__StopAction__PredecessorAssignment_4_1 ) ) ;
+    public final void rule__StopAction__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6013:1: ( ( ( rule__StopAction__PredecessorAssignment_4_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6014:1: ( ( rule__StopAction__PredecessorAssignment_4_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6014:1: ( ( rule__StopAction__PredecessorAssignment_4_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6015:1: ( rule__StopAction__PredecessorAssignment_4_1 )
+            {
+             before(grammarAccess.getStopActionAccess().getPredecessorAssignment_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6016:1: ( rule__StopAction__PredecessorAssignment_4_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6016:2: rule__StopAction__PredecessorAssignment_4_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__PredecessorAssignment_4_1_in_rule__StopAction__Group_4__1__Impl11938);
+            rule__StopAction__PredecessorAssignment_4_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getPredecessorAssignment_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6030:1: rule__StopAction__Group_5__0 : rule__StopAction__Group_5__0__Impl rule__StopAction__Group_5__1 ;
+    public final void rule__StopAction__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6034:1: ( rule__StopAction__Group_5__0__Impl rule__StopAction__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6035:2: rule__StopAction__Group_5__0__Impl rule__StopAction__Group_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__0__Impl_in_rule__StopAction__Group_5__011972);
+            rule__StopAction__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__1_in_rule__StopAction__Group_5__011975);
+            rule__StopAction__Group_5__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_5__0"
+
+
+    // $ANTLR start "rule__StopAction__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6042:1: rule__StopAction__Group_5__0__Impl : ( 'successor' ) ;
+    public final void rule__StopAction__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6046:1: ( ( 'successor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6047:1: ( 'successor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6047:1: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6048:1: 'successor'
+            {
+             before(grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0()); 
+            match(input,51,FollowSets000.FOLLOW_51_in_rule__StopAction__Group_5__0__Impl12003); 
+             after(grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__StopAction__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6061:1: rule__StopAction__Group_5__1 : rule__StopAction__Group_5__1__Impl ;
+    public final void rule__StopAction__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6065:1: ( rule__StopAction__Group_5__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6066:2: rule__StopAction__Group_5__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__1__Impl_in_rule__StopAction__Group_5__112034);
+            rule__StopAction__Group_5__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_5__1"
+
+
+    // $ANTLR start "rule__StopAction__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6072:1: rule__StopAction__Group_5__1__Impl : ( ( rule__StopAction__SuccessorAssignment_5_1 ) ) ;
+    public final void rule__StopAction__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6076:1: ( ( ( rule__StopAction__SuccessorAssignment_5_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6077:1: ( ( rule__StopAction__SuccessorAssignment_5_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6077:1: ( ( rule__StopAction__SuccessorAssignment_5_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6078:1: ( rule__StopAction__SuccessorAssignment_5_1 )
+            {
+             before(grammarAccess.getStopActionAccess().getSuccessorAssignment_5_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6079:1: ( rule__StopAction__SuccessorAssignment_5_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6079:2: rule__StopAction__SuccessorAssignment_5_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__StopAction__SuccessorAssignment_5_1_in_rule__StopAction__Group_5__1__Impl12061);
+            rule__StopAction__SuccessorAssignment_5_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getSuccessorAssignment_5_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__Group_5__1__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6093:1: rule__LoopAction__Group__0 : rule__LoopAction__Group__0__Impl rule__LoopAction__Group__1 ;
+    public final void rule__LoopAction__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6097:1: ( rule__LoopAction__Group__0__Impl rule__LoopAction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6098:2: rule__LoopAction__Group__0__Impl rule__LoopAction__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__0__Impl_in_rule__LoopAction__Group__012095);
+            rule__LoopAction__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__1_in_rule__LoopAction__Group__012098);
+            rule__LoopAction__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__0"
+
+
+    // $ANTLR start "rule__LoopAction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6105:1: rule__LoopAction__Group__0__Impl : ( 'LoopAction' ) ;
+    public final void rule__LoopAction__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6109:1: ( ( 'LoopAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6110:1: ( 'LoopAction' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6110:1: ( 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6111:1: 'LoopAction'
+            {
+             before(grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); 
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__LoopAction__Group__0__Impl12126); 
+             after(grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__0__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6124:1: rule__LoopAction__Group__1 : rule__LoopAction__Group__1__Impl rule__LoopAction__Group__2 ;
+    public final void rule__LoopAction__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6128:1: ( rule__LoopAction__Group__1__Impl rule__LoopAction__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6129:2: rule__LoopAction__Group__1__Impl rule__LoopAction__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__1__Impl_in_rule__LoopAction__Group__112157);
+            rule__LoopAction__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__2_in_rule__LoopAction__Group__112160);
+            rule__LoopAction__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__1"
+
+
+    // $ANTLR start "rule__LoopAction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6136:1: rule__LoopAction__Group__1__Impl : ( ( rule__LoopAction__IdAssignment_1 ) ) ;
+    public final void rule__LoopAction__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6140:1: ( ( ( rule__LoopAction__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6141:1: ( ( rule__LoopAction__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6141:1: ( ( rule__LoopAction__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6142:1: ( rule__LoopAction__IdAssignment_1 )
+            {
+             before(grammarAccess.getLoopActionAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6143:1: ( rule__LoopAction__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6143:2: rule__LoopAction__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__IdAssignment_1_in_rule__LoopAction__Group__1__Impl12187);
+            rule__LoopAction__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__1__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6153:1: rule__LoopAction__Group__2 : rule__LoopAction__Group__2__Impl rule__LoopAction__Group__3 ;
+    public final void rule__LoopAction__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6157:1: ( rule__LoopAction__Group__2__Impl rule__LoopAction__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6158:2: rule__LoopAction__Group__2__Impl rule__LoopAction__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__2__Impl_in_rule__LoopAction__Group__212217);
+            rule__LoopAction__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__3_in_rule__LoopAction__Group__212220);
+            rule__LoopAction__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__2"
+
+
+    // $ANTLR start "rule__LoopAction__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6165:1: rule__LoopAction__Group__2__Impl : ( '{' ) ;
+    public final void rule__LoopAction__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6169:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6170:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6170:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6171:1: '{'
+            {
+             before(grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__LoopAction__Group__2__Impl12248); 
+             after(grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__2__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6184:1: rule__LoopAction__Group__3 : rule__LoopAction__Group__3__Impl rule__LoopAction__Group__4 ;
+    public final void rule__LoopAction__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6188:1: ( rule__LoopAction__Group__3__Impl rule__LoopAction__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6189:2: rule__LoopAction__Group__3__Impl rule__LoopAction__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__3__Impl_in_rule__LoopAction__Group__312279);
+            rule__LoopAction__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__4_in_rule__LoopAction__Group__312282);
+            rule__LoopAction__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__3"
+
+
+    // $ANTLR start "rule__LoopAction__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6196:1: rule__LoopAction__Group__3__Impl : ( ( rule__LoopAction__Group_3__0 )? ) ;
+    public final void rule__LoopAction__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6200:1: ( ( ( rule__LoopAction__Group_3__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6201:1: ( ( rule__LoopAction__Group_3__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6201:1: ( ( rule__LoopAction__Group_3__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6202:1: ( rule__LoopAction__Group_3__0 )?
+            {
+             before(grammarAccess.getLoopActionAccess().getGroup_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6203:1: ( rule__LoopAction__Group_3__0 )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+
+            if ( (LA25_0==50) ) {
+                alt25=1;
+            }
+            switch (alt25) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6203:2: rule__LoopAction__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_3__0_in_rule__LoopAction__Group__3__Impl12309);
+                    rule__LoopAction__Group_3__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getGroup_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__3__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6213:1: rule__LoopAction__Group__4 : rule__LoopAction__Group__4__Impl rule__LoopAction__Group__5 ;
+    public final void rule__LoopAction__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6217:1: ( rule__LoopAction__Group__4__Impl rule__LoopAction__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6218:2: rule__LoopAction__Group__4__Impl rule__LoopAction__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__4__Impl_in_rule__LoopAction__Group__412340);
+            rule__LoopAction__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__5_in_rule__LoopAction__Group__412343);
+            rule__LoopAction__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__4"
+
+
+    // $ANTLR start "rule__LoopAction__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6225:1: rule__LoopAction__Group__4__Impl : ( ( rule__LoopAction__Group_4__0 )? ) ;
+    public final void rule__LoopAction__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6229:1: ( ( ( rule__LoopAction__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6230:1: ( ( rule__LoopAction__Group_4__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6230:1: ( ( rule__LoopAction__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6231:1: ( rule__LoopAction__Group_4__0 )?
+            {
+             before(grammarAccess.getLoopActionAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6232:1: ( rule__LoopAction__Group_4__0 )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
+
+            if ( (LA26_0==51) ) {
+                alt26=1;
+            }
+            switch (alt26) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6232:2: rule__LoopAction__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_4__0_in_rule__LoopAction__Group__4__Impl12370);
+                    rule__LoopAction__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getGroup_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__4__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6242:1: rule__LoopAction__Group__5 : rule__LoopAction__Group__5__Impl rule__LoopAction__Group__6 ;
+    public final void rule__LoopAction__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6246:1: ( rule__LoopAction__Group__5__Impl rule__LoopAction__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6247:2: rule__LoopAction__Group__5__Impl rule__LoopAction__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__5__Impl_in_rule__LoopAction__Group__512401);
+            rule__LoopAction__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__6_in_rule__LoopAction__Group__512404);
+            rule__LoopAction__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__5"
+
+
+    // $ANTLR start "rule__LoopAction__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6254:1: rule__LoopAction__Group__5__Impl : ( 'counter' ) ;
+    public final void rule__LoopAction__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6258:1: ( ( 'counter' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6259:1: ( 'counter' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6259:1: ( 'counter' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6260:1: 'counter'
+            {
+             before(grammarAccess.getLoopActionAccess().getCounterKeyword_5()); 
+            match(input,54,FollowSets000.FOLLOW_54_in_rule__LoopAction__Group__5__Impl12432); 
+             after(grammarAccess.getLoopActionAccess().getCounterKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__5__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6273:1: rule__LoopAction__Group__6 : rule__LoopAction__Group__6__Impl rule__LoopAction__Group__7 ;
+    public final void rule__LoopAction__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6277:1: ( rule__LoopAction__Group__6__Impl rule__LoopAction__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6278:2: rule__LoopAction__Group__6__Impl rule__LoopAction__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__6__Impl_in_rule__LoopAction__Group__612463);
+            rule__LoopAction__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__7_in_rule__LoopAction__Group__612466);
+            rule__LoopAction__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__6"
+
+
+    // $ANTLR start "rule__LoopAction__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6285:1: rule__LoopAction__Group__6__Impl : ( ( rule__LoopAction__CounterAssignment_6 ) ) ;
+    public final void rule__LoopAction__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6289:1: ( ( ( rule__LoopAction__CounterAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6290:1: ( ( rule__LoopAction__CounterAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6290:1: ( ( rule__LoopAction__CounterAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6291:1: ( rule__LoopAction__CounterAssignment_6 )
+            {
+             before(grammarAccess.getLoopActionAccess().getCounterAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6292:1: ( rule__LoopAction__CounterAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6292:2: rule__LoopAction__CounterAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__CounterAssignment_6_in_rule__LoopAction__Group__6__Impl12493);
+            rule__LoopAction__CounterAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getCounterAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__6__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6302:1: rule__LoopAction__Group__7 : rule__LoopAction__Group__7__Impl rule__LoopAction__Group__8 ;
+    public final void rule__LoopAction__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6306:1: ( rule__LoopAction__Group__7__Impl rule__LoopAction__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6307:2: rule__LoopAction__Group__7__Impl rule__LoopAction__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__7__Impl_in_rule__LoopAction__Group__712523);
+            rule__LoopAction__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__8_in_rule__LoopAction__Group__712526);
+            rule__LoopAction__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__7"
+
+
+    // $ANTLR start "rule__LoopAction__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6314:1: rule__LoopAction__Group__7__Impl : ( 'body' ) ;
+    public final void rule__LoopAction__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6318:1: ( ( 'body' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6319:1: ( 'body' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6319:1: ( 'body' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6320:1: 'body'
+            {
+             before(grammarAccess.getLoopActionAccess().getBodyKeyword_7()); 
+            match(input,55,FollowSets000.FOLLOW_55_in_rule__LoopAction__Group__7__Impl12554); 
+             after(grammarAccess.getLoopActionAccess().getBodyKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__7__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6333:1: rule__LoopAction__Group__8 : rule__LoopAction__Group__8__Impl rule__LoopAction__Group__9 ;
+    public final void rule__LoopAction__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6337:1: ( rule__LoopAction__Group__8__Impl rule__LoopAction__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6338:2: rule__LoopAction__Group__8__Impl rule__LoopAction__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__8__Impl_in_rule__LoopAction__Group__812585);
+            rule__LoopAction__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__9_in_rule__LoopAction__Group__812588);
+            rule__LoopAction__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__8"
+
+
+    // $ANTLR start "rule__LoopAction__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6345:1: rule__LoopAction__Group__8__Impl : ( ( rule__LoopAction__BodyAssignment_8 ) ) ;
+    public final void rule__LoopAction__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6349:1: ( ( ( rule__LoopAction__BodyAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6350:1: ( ( rule__LoopAction__BodyAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6350:1: ( ( rule__LoopAction__BodyAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6351:1: ( rule__LoopAction__BodyAssignment_8 )
+            {
+             before(grammarAccess.getLoopActionAccess().getBodyAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6352:1: ( rule__LoopAction__BodyAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6352:2: rule__LoopAction__BodyAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__BodyAssignment_8_in_rule__LoopAction__Group__8__Impl12615);
+            rule__LoopAction__BodyAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getBodyAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__8__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6362:1: rule__LoopAction__Group__9 : rule__LoopAction__Group__9__Impl ;
+    public final void rule__LoopAction__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6366:1: ( rule__LoopAction__Group__9__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6367:2: rule__LoopAction__Group__9__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__9__Impl_in_rule__LoopAction__Group__912645);
+            rule__LoopAction__Group__9__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__9"
+
+
+    // $ANTLR start "rule__LoopAction__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6373:1: rule__LoopAction__Group__9__Impl : ( '}' ) ;
+    public final void rule__LoopAction__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6377:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6378:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6378:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6379:1: '}'
+            {
+             before(grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__LoopAction__Group__9__Impl12673); 
+             after(grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group__9__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6412:1: rule__LoopAction__Group_3__0 : rule__LoopAction__Group_3__0__Impl rule__LoopAction__Group_3__1 ;
+    public final void rule__LoopAction__Group_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6416:1: ( rule__LoopAction__Group_3__0__Impl rule__LoopAction__Group_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6417:2: rule__LoopAction__Group_3__0__Impl rule__LoopAction__Group_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_3__0__Impl_in_rule__LoopAction__Group_3__012724);
+            rule__LoopAction__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_3__1_in_rule__LoopAction__Group_3__012727);
+            rule__LoopAction__Group_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_3__0"
+
+
+    // $ANTLR start "rule__LoopAction__Group_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6424:1: rule__LoopAction__Group_3__0__Impl : ( 'predecessor' ) ;
+    public final void rule__LoopAction__Group_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6428:1: ( ( 'predecessor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6429:1: ( 'predecessor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6429:1: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6430:1: 'predecessor'
+            {
+             before(grammarAccess.getLoopActionAccess().getPredecessorKeyword_3_0()); 
+            match(input,50,FollowSets000.FOLLOW_50_in_rule__LoopAction__Group_3__0__Impl12755); 
+             after(grammarAccess.getLoopActionAccess().getPredecessorKeyword_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_3__0__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6443:1: rule__LoopAction__Group_3__1 : rule__LoopAction__Group_3__1__Impl ;
+    public final void rule__LoopAction__Group_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6447:1: ( rule__LoopAction__Group_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6448:2: rule__LoopAction__Group_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_3__1__Impl_in_rule__LoopAction__Group_3__112786);
+            rule__LoopAction__Group_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_3__1"
+
+
+    // $ANTLR start "rule__LoopAction__Group_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6454:1: rule__LoopAction__Group_3__1__Impl : ( ( rule__LoopAction__PredecessorAssignment_3_1 ) ) ;
+    public final void rule__LoopAction__Group_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6458:1: ( ( ( rule__LoopAction__PredecessorAssignment_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6459:1: ( ( rule__LoopAction__PredecessorAssignment_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6459:1: ( ( rule__LoopAction__PredecessorAssignment_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6460:1: ( rule__LoopAction__PredecessorAssignment_3_1 )
+            {
+             before(grammarAccess.getLoopActionAccess().getPredecessorAssignment_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6461:1: ( rule__LoopAction__PredecessorAssignment_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6461:2: rule__LoopAction__PredecessorAssignment_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__PredecessorAssignment_3_1_in_rule__LoopAction__Group_3__1__Impl12813);
+            rule__LoopAction__PredecessorAssignment_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getPredecessorAssignment_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_3__1__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6475:1: rule__LoopAction__Group_4__0 : rule__LoopAction__Group_4__0__Impl rule__LoopAction__Group_4__1 ;
+    public final void rule__LoopAction__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6479:1: ( rule__LoopAction__Group_4__0__Impl rule__LoopAction__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6480:2: rule__LoopAction__Group_4__0__Impl rule__LoopAction__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_4__0__Impl_in_rule__LoopAction__Group_4__012847);
+            rule__LoopAction__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_4__1_in_rule__LoopAction__Group_4__012850);
+            rule__LoopAction__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_4__0"
+
+
+    // $ANTLR start "rule__LoopAction__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6487:1: rule__LoopAction__Group_4__0__Impl : ( 'successor' ) ;
+    public final void rule__LoopAction__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6491:1: ( ( 'successor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6492:1: ( 'successor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6492:1: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6493:1: 'successor'
+            {
+             before(grammarAccess.getLoopActionAccess().getSuccessorKeyword_4_0()); 
+            match(input,51,FollowSets000.FOLLOW_51_in_rule__LoopAction__Group_4__0__Impl12878); 
+             after(grammarAccess.getLoopActionAccess().getSuccessorKeyword_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__LoopAction__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6506:1: rule__LoopAction__Group_4__1 : rule__LoopAction__Group_4__1__Impl ;
+    public final void rule__LoopAction__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6510:1: ( rule__LoopAction__Group_4__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6511:2: rule__LoopAction__Group_4__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_4__1__Impl_in_rule__LoopAction__Group_4__112909);
+            rule__LoopAction__Group_4__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_4__1"
+
+
+    // $ANTLR start "rule__LoopAction__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6517:1: rule__LoopAction__Group_4__1__Impl : ( ( rule__LoopAction__SuccessorAssignment_4_1 ) ) ;
+    public final void rule__LoopAction__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6521:1: ( ( ( rule__LoopAction__SuccessorAssignment_4_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6522:1: ( ( rule__LoopAction__SuccessorAssignment_4_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6522:1: ( ( rule__LoopAction__SuccessorAssignment_4_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6523:1: ( rule__LoopAction__SuccessorAssignment_4_1 )
+            {
+             before(grammarAccess.getLoopActionAccess().getSuccessorAssignment_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6524:1: ( rule__LoopAction__SuccessorAssignment_4_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6524:2: rule__LoopAction__SuccessorAssignment_4_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__SuccessorAssignment_4_1_in_rule__LoopAction__Group_4__1__Impl12936);
+            rule__LoopAction__SuccessorAssignment_4_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getSuccessorAssignment_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6538:1: rule__BranchAction__Group__0 : rule__BranchAction__Group__0__Impl rule__BranchAction__Group__1 ;
+    public final void rule__BranchAction__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6542:1: ( rule__BranchAction__Group__0__Impl rule__BranchAction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6543:2: rule__BranchAction__Group__0__Impl rule__BranchAction__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__0__Impl_in_rule__BranchAction__Group__012970);
+            rule__BranchAction__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__1_in_rule__BranchAction__Group__012973);
+            rule__BranchAction__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__0"
+
+
+    // $ANTLR start "rule__BranchAction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6550:1: rule__BranchAction__Group__0__Impl : ( 'BranchAction' ) ;
+    public final void rule__BranchAction__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6554:1: ( ( 'BranchAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6555:1: ( 'BranchAction' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6555:1: ( 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6556:1: 'BranchAction'
+            {
+             before(grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); 
+            match(input,56,FollowSets000.FOLLOW_56_in_rule__BranchAction__Group__0__Impl13001); 
+             after(grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__0__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6569:1: rule__BranchAction__Group__1 : rule__BranchAction__Group__1__Impl rule__BranchAction__Group__2 ;
+    public final void rule__BranchAction__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6573:1: ( rule__BranchAction__Group__1__Impl rule__BranchAction__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6574:2: rule__BranchAction__Group__1__Impl rule__BranchAction__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__1__Impl_in_rule__BranchAction__Group__113032);
+            rule__BranchAction__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__2_in_rule__BranchAction__Group__113035);
+            rule__BranchAction__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__1"
+
+
+    // $ANTLR start "rule__BranchAction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6581:1: rule__BranchAction__Group__1__Impl : ( ( rule__BranchAction__IdAssignment_1 ) ) ;
+    public final void rule__BranchAction__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6585:1: ( ( ( rule__BranchAction__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6586:1: ( ( rule__BranchAction__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6586:1: ( ( rule__BranchAction__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6587:1: ( rule__BranchAction__IdAssignment_1 )
+            {
+             before(grammarAccess.getBranchActionAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6588:1: ( rule__BranchAction__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6588:2: rule__BranchAction__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__IdAssignment_1_in_rule__BranchAction__Group__1__Impl13062);
+            rule__BranchAction__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__1__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6598:1: rule__BranchAction__Group__2 : rule__BranchAction__Group__2__Impl rule__BranchAction__Group__3 ;
+    public final void rule__BranchAction__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6602:1: ( rule__BranchAction__Group__2__Impl rule__BranchAction__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6603:2: rule__BranchAction__Group__2__Impl rule__BranchAction__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__2__Impl_in_rule__BranchAction__Group__213092);
+            rule__BranchAction__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__3_in_rule__BranchAction__Group__213095);
+            rule__BranchAction__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__2"
+
+
+    // $ANTLR start "rule__BranchAction__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6610:1: rule__BranchAction__Group__2__Impl : ( '{' ) ;
+    public final void rule__BranchAction__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6614:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6615:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6615:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6616:1: '{'
+            {
+             before(grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__BranchAction__Group__2__Impl13123); 
+             after(grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__2__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6629:1: rule__BranchAction__Group__3 : rule__BranchAction__Group__3__Impl rule__BranchAction__Group__4 ;
+    public final void rule__BranchAction__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6633:1: ( rule__BranchAction__Group__3__Impl rule__BranchAction__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6634:2: rule__BranchAction__Group__3__Impl rule__BranchAction__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__3__Impl_in_rule__BranchAction__Group__313154);
+            rule__BranchAction__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__4_in_rule__BranchAction__Group__313157);
+            rule__BranchAction__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__3"
+
+
+    // $ANTLR start "rule__BranchAction__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6641:1: rule__BranchAction__Group__3__Impl : ( ( rule__BranchAction__Group_3__0 )? ) ;
+    public final void rule__BranchAction__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6645:1: ( ( ( rule__BranchAction__Group_3__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6646:1: ( ( rule__BranchAction__Group_3__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6646:1: ( ( rule__BranchAction__Group_3__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6647:1: ( rule__BranchAction__Group_3__0 )?
+            {
+             before(grammarAccess.getBranchActionAccess().getGroup_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6648:1: ( rule__BranchAction__Group_3__0 )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
+
+            if ( (LA27_0==59) ) {
+                alt27=1;
+            }
+            switch (alt27) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6648:2: rule__BranchAction__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__0_in_rule__BranchAction__Group__3__Impl13184);
+                    rule__BranchAction__Group_3__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getGroup_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__3__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6658:1: rule__BranchAction__Group__4 : rule__BranchAction__Group__4__Impl rule__BranchAction__Group__5 ;
+    public final void rule__BranchAction__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6662:1: ( rule__BranchAction__Group__4__Impl rule__BranchAction__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6663:2: rule__BranchAction__Group__4__Impl rule__BranchAction__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__4__Impl_in_rule__BranchAction__Group__413215);
+            rule__BranchAction__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__5_in_rule__BranchAction__Group__413218);
+            rule__BranchAction__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__4"
+
+
+    // $ANTLR start "rule__BranchAction__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6670:1: rule__BranchAction__Group__4__Impl : ( ( rule__BranchAction__Group_4__0 )? ) ;
+    public final void rule__BranchAction__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6674:1: ( ( ( rule__BranchAction__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6675:1: ( ( rule__BranchAction__Group_4__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6675:1: ( ( rule__BranchAction__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6676:1: ( rule__BranchAction__Group_4__0 )?
+            {
+             before(grammarAccess.getBranchActionAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6677:1: ( rule__BranchAction__Group_4__0 )?
+            int alt28=2;
+            int LA28_0 = input.LA(1);
+
+            if ( (LA28_0==50) ) {
+                alt28=1;
+            }
+            switch (alt28) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6677:2: rule__BranchAction__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__0_in_rule__BranchAction__Group__4__Impl13245);
+                    rule__BranchAction__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getGroup_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__4__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6687:1: rule__BranchAction__Group__5 : rule__BranchAction__Group__5__Impl rule__BranchAction__Group__6 ;
+    public final void rule__BranchAction__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6691:1: ( rule__BranchAction__Group__5__Impl rule__BranchAction__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6692:2: rule__BranchAction__Group__5__Impl rule__BranchAction__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__5__Impl_in_rule__BranchAction__Group__513276);
+            rule__BranchAction__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__6_in_rule__BranchAction__Group__513279);
+            rule__BranchAction__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__5"
+
+
+    // $ANTLR start "rule__BranchAction__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6699:1: rule__BranchAction__Group__5__Impl : ( ( rule__BranchAction__Group_5__0 )? ) ;
+    public final void rule__BranchAction__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6703:1: ( ( ( rule__BranchAction__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6704:1: ( ( rule__BranchAction__Group_5__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6704:1: ( ( rule__BranchAction__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6705:1: ( rule__BranchAction__Group_5__0 )?
+            {
+             before(grammarAccess.getBranchActionAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6706:1: ( rule__BranchAction__Group_5__0 )?
+            int alt29=2;
+            int LA29_0 = input.LA(1);
+
+            if ( (LA29_0==51) ) {
+                alt29=1;
+            }
+            switch (alt29) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6706:2: rule__BranchAction__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__0_in_rule__BranchAction__Group__5__Impl13306);
+                    rule__BranchAction__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getGroup_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__5__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6716:1: rule__BranchAction__Group__6 : rule__BranchAction__Group__6__Impl rule__BranchAction__Group__7 ;
+    public final void rule__BranchAction__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6720:1: ( rule__BranchAction__Group__6__Impl rule__BranchAction__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6721:2: rule__BranchAction__Group__6__Impl rule__BranchAction__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__6__Impl_in_rule__BranchAction__Group__613337);
+            rule__BranchAction__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__7_in_rule__BranchAction__Group__613340);
+            rule__BranchAction__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__6"
+
+
+    // $ANTLR start "rule__BranchAction__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6728:1: rule__BranchAction__Group__6__Impl : ( ( rule__BranchAction__Group_6__0 )? ) ;
+    public final void rule__BranchAction__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6732:1: ( ( ( rule__BranchAction__Group_6__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6733:1: ( ( rule__BranchAction__Group_6__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6733:1: ( ( rule__BranchAction__Group_6__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6734:1: ( rule__BranchAction__Group_6__0 )?
+            {
+             before(grammarAccess.getBranchActionAccess().getGroup_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6735:1: ( rule__BranchAction__Group_6__0 )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
+
+            if ( (LA30_0==60) ) {
+                alt30=1;
+            }
+            switch (alt30) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6735:2: rule__BranchAction__Group_6__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__0_in_rule__BranchAction__Group__6__Impl13367);
+                    rule__BranchAction__Group_6__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getGroup_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__6__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6745:1: rule__BranchAction__Group__7 : rule__BranchAction__Group__7__Impl rule__BranchAction__Group__8 ;
+    public final void rule__BranchAction__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6749:1: ( rule__BranchAction__Group__7__Impl rule__BranchAction__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6750:2: rule__BranchAction__Group__7__Impl rule__BranchAction__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__7__Impl_in_rule__BranchAction__Group__713398);
+            rule__BranchAction__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__8_in_rule__BranchAction__Group__713401);
+            rule__BranchAction__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__7"
+
+
+    // $ANTLR start "rule__BranchAction__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6757:1: rule__BranchAction__Group__7__Impl : ( 'conditionTrueBranch' ) ;
+    public final void rule__BranchAction__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6761:1: ( ( 'conditionTrueBranch' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6762:1: ( 'conditionTrueBranch' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6762:1: ( 'conditionTrueBranch' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6763:1: 'conditionTrueBranch'
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7()); 
+            match(input,57,FollowSets000.FOLLOW_57_in_rule__BranchAction__Group__7__Impl13429); 
+             after(grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__7__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6776:1: rule__BranchAction__Group__8 : rule__BranchAction__Group__8__Impl rule__BranchAction__Group__9 ;
+    public final void rule__BranchAction__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6780:1: ( rule__BranchAction__Group__8__Impl rule__BranchAction__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6781:2: rule__BranchAction__Group__8__Impl rule__BranchAction__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__8__Impl_in_rule__BranchAction__Group__813460);
+            rule__BranchAction__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__9_in_rule__BranchAction__Group__813463);
+            rule__BranchAction__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__8"
+
+
+    // $ANTLR start "rule__BranchAction__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6788:1: rule__BranchAction__Group__8__Impl : ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) ) ;
+    public final void rule__BranchAction__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6792:1: ( ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6793:1: ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6793:1: ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6794:1: ( rule__BranchAction__ConditionTrueBranchAssignment_8 )
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6795:1: ( rule__BranchAction__ConditionTrueBranchAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6795:2: rule__BranchAction__ConditionTrueBranchAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ConditionTrueBranchAssignment_8_in_rule__BranchAction__Group__8__Impl13490);
+            rule__BranchAction__ConditionTrueBranchAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__8__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6805:1: rule__BranchAction__Group__9 : rule__BranchAction__Group__9__Impl rule__BranchAction__Group__10 ;
+    public final void rule__BranchAction__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6809:1: ( rule__BranchAction__Group__9__Impl rule__BranchAction__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6810:2: rule__BranchAction__Group__9__Impl rule__BranchAction__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__9__Impl_in_rule__BranchAction__Group__913520);
+            rule__BranchAction__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__10_in_rule__BranchAction__Group__913523);
+            rule__BranchAction__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__9"
+
+
+    // $ANTLR start "rule__BranchAction__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6817:1: rule__BranchAction__Group__9__Impl : ( 'conditionFalseBranch' ) ;
+    public final void rule__BranchAction__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6821:1: ( ( 'conditionFalseBranch' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6822:1: ( 'conditionFalseBranch' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6822:1: ( 'conditionFalseBranch' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6823:1: 'conditionFalseBranch'
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9()); 
+            match(input,58,FollowSets000.FOLLOW_58_in_rule__BranchAction__Group__9__Impl13551); 
+             after(grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__9__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6836:1: rule__BranchAction__Group__10 : rule__BranchAction__Group__10__Impl rule__BranchAction__Group__11 ;
+    public final void rule__BranchAction__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6840:1: ( rule__BranchAction__Group__10__Impl rule__BranchAction__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6841:2: rule__BranchAction__Group__10__Impl rule__BranchAction__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__10__Impl_in_rule__BranchAction__Group__1013582);
+            rule__BranchAction__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__11_in_rule__BranchAction__Group__1013585);
+            rule__BranchAction__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__10"
+
+
+    // $ANTLR start "rule__BranchAction__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6848:1: rule__BranchAction__Group__10__Impl : ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) ) ;
+    public final void rule__BranchAction__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6852:1: ( ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6853:1: ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6853:1: ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6854:1: ( rule__BranchAction__ConditionFalseBranchAssignment_10 )
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6855:1: ( rule__BranchAction__ConditionFalseBranchAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6855:2: rule__BranchAction__ConditionFalseBranchAssignment_10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ConditionFalseBranchAssignment_10_in_rule__BranchAction__Group__10__Impl13612);
+            rule__BranchAction__ConditionFalseBranchAssignment_10();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__10__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6865:1: rule__BranchAction__Group__11 : rule__BranchAction__Group__11__Impl ;
+    public final void rule__BranchAction__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6869:1: ( rule__BranchAction__Group__11__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6870:2: rule__BranchAction__Group__11__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__11__Impl_in_rule__BranchAction__Group__1113642);
+            rule__BranchAction__Group__11__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__11"
+
+
+    // $ANTLR start "rule__BranchAction__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6876:1: rule__BranchAction__Group__11__Impl : ( '}' ) ;
+    public final void rule__BranchAction__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6880:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6881:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6881:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6882:1: '}'
+            {
+             before(grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__BranchAction__Group__11__Impl13670); 
+             after(grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group__11__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6919:1: rule__BranchAction__Group_3__0 : rule__BranchAction__Group_3__0__Impl rule__BranchAction__Group_3__1 ;
+    public final void rule__BranchAction__Group_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6923:1: ( rule__BranchAction__Group_3__0__Impl rule__BranchAction__Group_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6924:2: rule__BranchAction__Group_3__0__Impl rule__BranchAction__Group_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__0__Impl_in_rule__BranchAction__Group_3__013725);
+            rule__BranchAction__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__1_in_rule__BranchAction__Group_3__013728);
+            rule__BranchAction__Group_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_3__0"
+
+
+    // $ANTLR start "rule__BranchAction__Group_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6931:1: rule__BranchAction__Group_3__0__Impl : ( 'condition' ) ;
+    public final void rule__BranchAction__Group_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6935:1: ( ( 'condition' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6936:1: ( 'condition' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6936:1: ( 'condition' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6937:1: 'condition'
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionKeyword_3_0()); 
+            match(input,59,FollowSets000.FOLLOW_59_in_rule__BranchAction__Group_3__0__Impl13756); 
+             after(grammarAccess.getBranchActionAccess().getConditionKeyword_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_3__0__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6950:1: rule__BranchAction__Group_3__1 : rule__BranchAction__Group_3__1__Impl ;
+    public final void rule__BranchAction__Group_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6954:1: ( rule__BranchAction__Group_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6955:2: rule__BranchAction__Group_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__1__Impl_in_rule__BranchAction__Group_3__113787);
+            rule__BranchAction__Group_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_3__1"
+
+
+    // $ANTLR start "rule__BranchAction__Group_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6961:1: rule__BranchAction__Group_3__1__Impl : ( ( rule__BranchAction__ConditionAssignment_3_1 ) ) ;
+    public final void rule__BranchAction__Group_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6965:1: ( ( ( rule__BranchAction__ConditionAssignment_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6966:1: ( ( rule__BranchAction__ConditionAssignment_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6966:1: ( ( rule__BranchAction__ConditionAssignment_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6967:1: ( rule__BranchAction__ConditionAssignment_3_1 )
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionAssignment_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6968:1: ( rule__BranchAction__ConditionAssignment_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6968:2: rule__BranchAction__ConditionAssignment_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ConditionAssignment_3_1_in_rule__BranchAction__Group_3__1__Impl13814);
+            rule__BranchAction__ConditionAssignment_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getConditionAssignment_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_3__1__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6982:1: rule__BranchAction__Group_4__0 : rule__BranchAction__Group_4__0__Impl rule__BranchAction__Group_4__1 ;
+    public final void rule__BranchAction__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6986:1: ( rule__BranchAction__Group_4__0__Impl rule__BranchAction__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6987:2: rule__BranchAction__Group_4__0__Impl rule__BranchAction__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__0__Impl_in_rule__BranchAction__Group_4__013848);
+            rule__BranchAction__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__1_in_rule__BranchAction__Group_4__013851);
+            rule__BranchAction__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_4__0"
+
+
+    // $ANTLR start "rule__BranchAction__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6994:1: rule__BranchAction__Group_4__0__Impl : ( 'predecessor' ) ;
+    public final void rule__BranchAction__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6998:1: ( ( 'predecessor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6999:1: ( 'predecessor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:6999:1: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7000:1: 'predecessor'
+            {
+             before(grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0()); 
+            match(input,50,FollowSets000.FOLLOW_50_in_rule__BranchAction__Group_4__0__Impl13879); 
+             after(grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7013:1: rule__BranchAction__Group_4__1 : rule__BranchAction__Group_4__1__Impl ;
+    public final void rule__BranchAction__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7017:1: ( rule__BranchAction__Group_4__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7018:2: rule__BranchAction__Group_4__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__1__Impl_in_rule__BranchAction__Group_4__113910);
+            rule__BranchAction__Group_4__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_4__1"
+
+
+    // $ANTLR start "rule__BranchAction__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7024:1: rule__BranchAction__Group_4__1__Impl : ( ( rule__BranchAction__PredecessorAssignment_4_1 ) ) ;
+    public final void rule__BranchAction__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7028:1: ( ( ( rule__BranchAction__PredecessorAssignment_4_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7029:1: ( ( rule__BranchAction__PredecessorAssignment_4_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7029:1: ( ( rule__BranchAction__PredecessorAssignment_4_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7030:1: ( rule__BranchAction__PredecessorAssignment_4_1 )
+            {
+             before(grammarAccess.getBranchActionAccess().getPredecessorAssignment_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7031:1: ( rule__BranchAction__PredecessorAssignment_4_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7031:2: rule__BranchAction__PredecessorAssignment_4_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__PredecessorAssignment_4_1_in_rule__BranchAction__Group_4__1__Impl13937);
+            rule__BranchAction__PredecessorAssignment_4_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getPredecessorAssignment_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7045:1: rule__BranchAction__Group_5__0 : rule__BranchAction__Group_5__0__Impl rule__BranchAction__Group_5__1 ;
+    public final void rule__BranchAction__Group_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7049:1: ( rule__BranchAction__Group_5__0__Impl rule__BranchAction__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7050:2: rule__BranchAction__Group_5__0__Impl rule__BranchAction__Group_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__0__Impl_in_rule__BranchAction__Group_5__013971);
+            rule__BranchAction__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__1_in_rule__BranchAction__Group_5__013974);
+            rule__BranchAction__Group_5__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_5__0"
+
+
+    // $ANTLR start "rule__BranchAction__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7057:1: rule__BranchAction__Group_5__0__Impl : ( 'successor' ) ;
+    public final void rule__BranchAction__Group_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7061:1: ( ( 'successor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7062:1: ( 'successor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7062:1: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7063:1: 'successor'
+            {
+             before(grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0()); 
+            match(input,51,FollowSets000.FOLLOW_51_in_rule__BranchAction__Group_5__0__Impl14002); 
+             after(grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_5__0__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7076:1: rule__BranchAction__Group_5__1 : rule__BranchAction__Group_5__1__Impl ;
+    public final void rule__BranchAction__Group_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7080:1: ( rule__BranchAction__Group_5__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7081:2: rule__BranchAction__Group_5__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__1__Impl_in_rule__BranchAction__Group_5__114033);
+            rule__BranchAction__Group_5__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_5__1"
+
+
+    // $ANTLR start "rule__BranchAction__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7087:1: rule__BranchAction__Group_5__1__Impl : ( ( rule__BranchAction__SuccessorAssignment_5_1 ) ) ;
+    public final void rule__BranchAction__Group_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7091:1: ( ( ( rule__BranchAction__SuccessorAssignment_5_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7092:1: ( ( rule__BranchAction__SuccessorAssignment_5_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7092:1: ( ( rule__BranchAction__SuccessorAssignment_5_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7093:1: ( rule__BranchAction__SuccessorAssignment_5_1 )
+            {
+             before(grammarAccess.getBranchActionAccess().getSuccessorAssignment_5_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7094:1: ( rule__BranchAction__SuccessorAssignment_5_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7094:2: rule__BranchAction__SuccessorAssignment_5_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__SuccessorAssignment_5_1_in_rule__BranchAction__Group_5__1__Impl14060);
+            rule__BranchAction__SuccessorAssignment_5_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getSuccessorAssignment_5_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_5__1__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_6__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7108:1: rule__BranchAction__Group_6__0 : rule__BranchAction__Group_6__0__Impl rule__BranchAction__Group_6__1 ;
+    public final void rule__BranchAction__Group_6__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7112:1: ( rule__BranchAction__Group_6__0__Impl rule__BranchAction__Group_6__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7113:2: rule__BranchAction__Group_6__0__Impl rule__BranchAction__Group_6__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__0__Impl_in_rule__BranchAction__Group_6__014094);
+            rule__BranchAction__Group_6__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__1_in_rule__BranchAction__Group_6__014097);
+            rule__BranchAction__Group_6__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_6__0"
+
+
+    // $ANTLR start "rule__BranchAction__Group_6__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7120:1: rule__BranchAction__Group_6__0__Impl : ( 'context' ) ;
+    public final void rule__BranchAction__Group_6__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7124:1: ( ( 'context' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7125:1: ( 'context' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7125:1: ( 'context' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7126:1: 'context'
+            {
+             before(grammarAccess.getBranchActionAccess().getContextKeyword_6_0()); 
+            match(input,60,FollowSets000.FOLLOW_60_in_rule__BranchAction__Group_6__0__Impl14125); 
+             after(grammarAccess.getBranchActionAccess().getContextKeyword_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_6__0__Impl"
+
+
+    // $ANTLR start "rule__BranchAction__Group_6__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7139:1: rule__BranchAction__Group_6__1 : rule__BranchAction__Group_6__1__Impl ;
+    public final void rule__BranchAction__Group_6__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7143:1: ( rule__BranchAction__Group_6__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7144:2: rule__BranchAction__Group_6__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__1__Impl_in_rule__BranchAction__Group_6__114156);
+            rule__BranchAction__Group_6__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_6__1"
+
+
+    // $ANTLR start "rule__BranchAction__Group_6__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7150:1: rule__BranchAction__Group_6__1__Impl : ( ( rule__BranchAction__ContextAssignment_6_1 ) ) ;
+    public final void rule__BranchAction__Group_6__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7154:1: ( ( ( rule__BranchAction__ContextAssignment_6_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7155:1: ( ( rule__BranchAction__ContextAssignment_6_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7155:1: ( ( rule__BranchAction__ContextAssignment_6_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7156:1: ( rule__BranchAction__ContextAssignment_6_1 )
+            {
+             before(grammarAccess.getBranchActionAccess().getContextAssignment_6_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7157:1: ( rule__BranchAction__ContextAssignment_6_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7157:2: rule__BranchAction__ContextAssignment_6_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ContextAssignment_6_1_in_rule__BranchAction__Group_6__1__Impl14183);
+            rule__BranchAction__ContextAssignment_6_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getContextAssignment_6_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__Group_6__1__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7171:1: rule__ActionReference__Group__0 : rule__ActionReference__Group__0__Impl rule__ActionReference__Group__1 ;
+    public final void rule__ActionReference__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7175:1: ( rule__ActionReference__Group__0__Impl rule__ActionReference__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7176:2: rule__ActionReference__Group__0__Impl rule__ActionReference__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__0__Impl_in_rule__ActionReference__Group__014217);
+            rule__ActionReference__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__1_in_rule__ActionReference__Group__014220);
+            rule__ActionReference__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__0"
+
+
+    // $ANTLR start "rule__ActionReference__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7183:1: rule__ActionReference__Group__0__Impl : ( 'ActionReference' ) ;
+    public final void rule__ActionReference__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7187:1: ( ( 'ActionReference' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7188:1: ( 'ActionReference' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7188:1: ( 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7189:1: 'ActionReference'
+            {
+             before(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0()); 
+            match(input,61,FollowSets000.FOLLOW_61_in_rule__ActionReference__Group__0__Impl14248); 
+             after(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__0__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7202:1: rule__ActionReference__Group__1 : rule__ActionReference__Group__1__Impl rule__ActionReference__Group__2 ;
+    public final void rule__ActionReference__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7206:1: ( rule__ActionReference__Group__1__Impl rule__ActionReference__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7207:2: rule__ActionReference__Group__1__Impl rule__ActionReference__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__1__Impl_in_rule__ActionReference__Group__114279);
+            rule__ActionReference__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__2_in_rule__ActionReference__Group__114282);
+            rule__ActionReference__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__1"
+
+
+    // $ANTLR start "rule__ActionReference__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7214:1: rule__ActionReference__Group__1__Impl : ( ( rule__ActionReference__IdAssignment_1 ) ) ;
+    public final void rule__ActionReference__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7218:1: ( ( ( rule__ActionReference__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7219:1: ( ( rule__ActionReference__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7219:1: ( ( rule__ActionReference__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7220:1: ( rule__ActionReference__IdAssignment_1 )
+            {
+             before(grammarAccess.getActionReferenceAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7221:1: ( rule__ActionReference__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7221:2: rule__ActionReference__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__IdAssignment_1_in_rule__ActionReference__Group__1__Impl14309);
+            rule__ActionReference__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__1__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7231:1: rule__ActionReference__Group__2 : rule__ActionReference__Group__2__Impl rule__ActionReference__Group__3 ;
+    public final void rule__ActionReference__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7235:1: ( rule__ActionReference__Group__2__Impl rule__ActionReference__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7236:2: rule__ActionReference__Group__2__Impl rule__ActionReference__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__2__Impl_in_rule__ActionReference__Group__214339);
+            rule__ActionReference__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__3_in_rule__ActionReference__Group__214342);
+            rule__ActionReference__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__2"
+
+
+    // $ANTLR start "rule__ActionReference__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7243:1: rule__ActionReference__Group__2__Impl : ( '{' ) ;
+    public final void rule__ActionReference__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7247:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7248:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7248:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7249:1: '{'
+            {
+             before(grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__ActionReference__Group__2__Impl14370); 
+             after(grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__2__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7262:1: rule__ActionReference__Group__3 : rule__ActionReference__Group__3__Impl rule__ActionReference__Group__4 ;
+    public final void rule__ActionReference__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7266:1: ( rule__ActionReference__Group__3__Impl rule__ActionReference__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7267:2: rule__ActionReference__Group__3__Impl rule__ActionReference__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__3__Impl_in_rule__ActionReference__Group__314401);
+            rule__ActionReference__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__4_in_rule__ActionReference__Group__314404);
+            rule__ActionReference__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__3"
+
+
+    // $ANTLR start "rule__ActionReference__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7274:1: rule__ActionReference__Group__3__Impl : ( ( rule__ActionReference__Group_3__0 )? ) ;
+    public final void rule__ActionReference__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7278:1: ( ( ( rule__ActionReference__Group_3__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7279:1: ( ( rule__ActionReference__Group_3__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7279:1: ( ( rule__ActionReference__Group_3__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7280:1: ( rule__ActionReference__Group_3__0 )?
+            {
+             before(grammarAccess.getActionReferenceAccess().getGroup_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7281:1: ( rule__ActionReference__Group_3__0 )?
+            int alt31=2;
+            int LA31_0 = input.LA(1);
+
+            if ( (LA31_0==50) ) {
+                alt31=1;
+            }
+            switch (alt31) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7281:2: rule__ActionReference__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__0_in_rule__ActionReference__Group__3__Impl14431);
+                    rule__ActionReference__Group_3__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getGroup_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__3__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7291:1: rule__ActionReference__Group__4 : rule__ActionReference__Group__4__Impl rule__ActionReference__Group__5 ;
+    public final void rule__ActionReference__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7295:1: ( rule__ActionReference__Group__4__Impl rule__ActionReference__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7296:2: rule__ActionReference__Group__4__Impl rule__ActionReference__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__4__Impl_in_rule__ActionReference__Group__414462);
+            rule__ActionReference__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__5_in_rule__ActionReference__Group__414465);
+            rule__ActionReference__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__4"
+
+
+    // $ANTLR start "rule__ActionReference__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7303:1: rule__ActionReference__Group__4__Impl : ( ( rule__ActionReference__Group_4__0 )? ) ;
+    public final void rule__ActionReference__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7307:1: ( ( ( rule__ActionReference__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7308:1: ( ( rule__ActionReference__Group_4__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7308:1: ( ( rule__ActionReference__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7309:1: ( rule__ActionReference__Group_4__0 )?
+            {
+             before(grammarAccess.getActionReferenceAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7310:1: ( rule__ActionReference__Group_4__0 )?
+            int alt32=2;
+            int LA32_0 = input.LA(1);
+
+            if ( (LA32_0==51) ) {
+                alt32=1;
+            }
+            switch (alt32) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7310:2: rule__ActionReference__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__0_in_rule__ActionReference__Group__4__Impl14492);
+                    rule__ActionReference__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getGroup_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__4__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7320:1: rule__ActionReference__Group__5 : rule__ActionReference__Group__5__Impl rule__ActionReference__Group__6 ;
+    public final void rule__ActionReference__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7324:1: ( rule__ActionReference__Group__5__Impl rule__ActionReference__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7325:2: rule__ActionReference__Group__5__Impl rule__ActionReference__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__5__Impl_in_rule__ActionReference__Group__514523);
+            rule__ActionReference__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__6_in_rule__ActionReference__Group__514526);
+            rule__ActionReference__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__5"
+
+
+    // $ANTLR start "rule__ActionReference__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7332:1: rule__ActionReference__Group__5__Impl : ( 'refersTo' ) ;
+    public final void rule__ActionReference__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7336:1: ( ( 'refersTo' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7337:1: ( 'refersTo' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7337:1: ( 'refersTo' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7338:1: 'refersTo'
+            {
+             before(grammarAccess.getActionReferenceAccess().getRefersToKeyword_5()); 
+            match(input,62,FollowSets000.FOLLOW_62_in_rule__ActionReference__Group__5__Impl14554); 
+             after(grammarAccess.getActionReferenceAccess().getRefersToKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__5__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7351:1: rule__ActionReference__Group__6 : rule__ActionReference__Group__6__Impl rule__ActionReference__Group__7 ;
+    public final void rule__ActionReference__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7355:1: ( rule__ActionReference__Group__6__Impl rule__ActionReference__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7356:2: rule__ActionReference__Group__6__Impl rule__ActionReference__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__6__Impl_in_rule__ActionReference__Group__614585);
+            rule__ActionReference__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__7_in_rule__ActionReference__Group__614588);
+            rule__ActionReference__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__6"
+
+
+    // $ANTLR start "rule__ActionReference__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7363:1: rule__ActionReference__Group__6__Impl : ( ( rule__ActionReference__RefersToAssignment_6 ) ) ;
+    public final void rule__ActionReference__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7367:1: ( ( ( rule__ActionReference__RefersToAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7368:1: ( ( rule__ActionReference__RefersToAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7368:1: ( ( rule__ActionReference__RefersToAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7369:1: ( rule__ActionReference__RefersToAssignment_6 )
+            {
+             before(grammarAccess.getActionReferenceAccess().getRefersToAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7370:1: ( rule__ActionReference__RefersToAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7370:2: rule__ActionReference__RefersToAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__RefersToAssignment_6_in_rule__ActionReference__Group__6__Impl14615);
+            rule__ActionReference__RefersToAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getRefersToAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__6__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7380:1: rule__ActionReference__Group__7 : rule__ActionReference__Group__7__Impl ;
+    public final void rule__ActionReference__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7384:1: ( rule__ActionReference__Group__7__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7385:2: rule__ActionReference__Group__7__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__7__Impl_in_rule__ActionReference__Group__714645);
+            rule__ActionReference__Group__7__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__7"
+
+
+    // $ANTLR start "rule__ActionReference__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7391:1: rule__ActionReference__Group__7__Impl : ( '}' ) ;
+    public final void rule__ActionReference__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7395:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7396:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7396:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7397:1: '}'
+            {
+             before(grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ActionReference__Group__7__Impl14673); 
+             after(grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group__7__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7426:1: rule__ActionReference__Group_3__0 : rule__ActionReference__Group_3__0__Impl rule__ActionReference__Group_3__1 ;
+    public final void rule__ActionReference__Group_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7430:1: ( rule__ActionReference__Group_3__0__Impl rule__ActionReference__Group_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7431:2: rule__ActionReference__Group_3__0__Impl rule__ActionReference__Group_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__0__Impl_in_rule__ActionReference__Group_3__014720);
+            rule__ActionReference__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__1_in_rule__ActionReference__Group_3__014723);
+            rule__ActionReference__Group_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_3__0"
+
+
+    // $ANTLR start "rule__ActionReference__Group_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7438:1: rule__ActionReference__Group_3__0__Impl : ( 'predecessor' ) ;
+    public final void rule__ActionReference__Group_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7442:1: ( ( 'predecessor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7443:1: ( 'predecessor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7443:1: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7444:1: 'predecessor'
+            {
+             before(grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0()); 
+            match(input,50,FollowSets000.FOLLOW_50_in_rule__ActionReference__Group_3__0__Impl14751); 
+             after(grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_3__0__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7457:1: rule__ActionReference__Group_3__1 : rule__ActionReference__Group_3__1__Impl ;
+    public final void rule__ActionReference__Group_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7461:1: ( rule__ActionReference__Group_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7462:2: rule__ActionReference__Group_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__1__Impl_in_rule__ActionReference__Group_3__114782);
+            rule__ActionReference__Group_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_3__1"
+
+
+    // $ANTLR start "rule__ActionReference__Group_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7468:1: rule__ActionReference__Group_3__1__Impl : ( ( rule__ActionReference__PredecessorAssignment_3_1 ) ) ;
+    public final void rule__ActionReference__Group_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7472:1: ( ( ( rule__ActionReference__PredecessorAssignment_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7473:1: ( ( rule__ActionReference__PredecessorAssignment_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7473:1: ( ( rule__ActionReference__PredecessorAssignment_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7474:1: ( rule__ActionReference__PredecessorAssignment_3_1 )
+            {
+             before(grammarAccess.getActionReferenceAccess().getPredecessorAssignment_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7475:1: ( rule__ActionReference__PredecessorAssignment_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7475:2: rule__ActionReference__PredecessorAssignment_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__PredecessorAssignment_3_1_in_rule__ActionReference__Group_3__1__Impl14809);
+            rule__ActionReference__PredecessorAssignment_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getPredecessorAssignment_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_3__1__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7489:1: rule__ActionReference__Group_4__0 : rule__ActionReference__Group_4__0__Impl rule__ActionReference__Group_4__1 ;
+    public final void rule__ActionReference__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7493:1: ( rule__ActionReference__Group_4__0__Impl rule__ActionReference__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7494:2: rule__ActionReference__Group_4__0__Impl rule__ActionReference__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__0__Impl_in_rule__ActionReference__Group_4__014843);
+            rule__ActionReference__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__1_in_rule__ActionReference__Group_4__014846);
+            rule__ActionReference__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_4__0"
+
+
+    // $ANTLR start "rule__ActionReference__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7501:1: rule__ActionReference__Group_4__0__Impl : ( 'successor' ) ;
+    public final void rule__ActionReference__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7505:1: ( ( 'successor' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7506:1: ( 'successor' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7506:1: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7507:1: 'successor'
+            {
+             before(grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0()); 
+            match(input,51,FollowSets000.FOLLOW_51_in_rule__ActionReference__Group_4__0__Impl14874); 
+             after(grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__ActionReference__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7520:1: rule__ActionReference__Group_4__1 : rule__ActionReference__Group_4__1__Impl ;
+    public final void rule__ActionReference__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7524:1: ( rule__ActionReference__Group_4__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7525:2: rule__ActionReference__Group_4__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__1__Impl_in_rule__ActionReference__Group_4__114905);
+            rule__ActionReference__Group_4__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_4__1"
+
+
+    // $ANTLR start "rule__ActionReference__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7531:1: rule__ActionReference__Group_4__1__Impl : ( ( rule__ActionReference__SuccessorAssignment_4_1 ) ) ;
+    public final void rule__ActionReference__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7535:1: ( ( ( rule__ActionReference__SuccessorAssignment_4_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7536:1: ( ( rule__ActionReference__SuccessorAssignment_4_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7536:1: ( ( rule__ActionReference__SuccessorAssignment_4_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7537:1: ( rule__ActionReference__SuccessorAssignment_4_1 )
+            {
+             before(grammarAccess.getActionReferenceAccess().getSuccessorAssignment_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7538:1: ( rule__ActionReference__SuccessorAssignment_4_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7538:2: rule__ActionReference__SuccessorAssignment_4_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__SuccessorAssignment_4_1_in_rule__ActionReference__Group_4__1__Impl14932);
+            rule__ActionReference__SuccessorAssignment_4_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getSuccessorAssignment_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7552:1: rule__AdaptationActionOperation__Group__0 : rule__AdaptationActionOperation__Group__0__Impl rule__AdaptationActionOperation__Group__1 ;
+    public final void rule__AdaptationActionOperation__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7556:1: ( rule__AdaptationActionOperation__Group__0__Impl rule__AdaptationActionOperation__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7557:2: rule__AdaptationActionOperation__Group__0__Impl rule__AdaptationActionOperation__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__0__Impl_in_rule__AdaptationActionOperation__Group__014966);
+            rule__AdaptationActionOperation__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__1_in_rule__AdaptationActionOperation__Group__014969);
+            rule__AdaptationActionOperation__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__0"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7564:1: rule__AdaptationActionOperation__Group__0__Impl : ( 'AdaptationActionOperation' ) ;
+    public final void rule__AdaptationActionOperation__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7568:1: ( ( 'AdaptationActionOperation' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7569:1: ( 'AdaptationActionOperation' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7569:1: ( 'AdaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7570:1: 'AdaptationActionOperation'
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0()); 
+            match(input,63,FollowSets000.FOLLOW_63_in_rule__AdaptationActionOperation__Group__0__Impl14997); 
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__0__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7583:1: rule__AdaptationActionOperation__Group__1 : rule__AdaptationActionOperation__Group__1__Impl rule__AdaptationActionOperation__Group__2 ;
+    public final void rule__AdaptationActionOperation__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7587:1: ( rule__AdaptationActionOperation__Group__1__Impl rule__AdaptationActionOperation__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7588:2: rule__AdaptationActionOperation__Group__1__Impl rule__AdaptationActionOperation__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__1__Impl_in_rule__AdaptationActionOperation__Group__115028);
+            rule__AdaptationActionOperation__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__2_in_rule__AdaptationActionOperation__Group__115031);
+            rule__AdaptationActionOperation__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__1"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7595:1: rule__AdaptationActionOperation__Group__1__Impl : ( '{' ) ;
+    public final void rule__AdaptationActionOperation__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7599:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7600:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7600:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7601:1: '{'
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationActionOperation__Group__1__Impl15059); 
+             after(grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__1__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7614:1: rule__AdaptationActionOperation__Group__2 : rule__AdaptationActionOperation__Group__2__Impl rule__AdaptationActionOperation__Group__3 ;
+    public final void rule__AdaptationActionOperation__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7618:1: ( rule__AdaptationActionOperation__Group__2__Impl rule__AdaptationActionOperation__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7619:2: rule__AdaptationActionOperation__Group__2__Impl rule__AdaptationActionOperation__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__2__Impl_in_rule__AdaptationActionOperation__Group__215090);
+            rule__AdaptationActionOperation__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__3_in_rule__AdaptationActionOperation__Group__215093);
+            rule__AdaptationActionOperation__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__2"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7626:1: rule__AdaptationActionOperation__Group__2__Impl : ( 'adaptationOperationScope' ) ;
+    public final void rule__AdaptationActionOperation__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7630:1: ( ( 'adaptationOperationScope' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7631:1: ( 'adaptationOperationScope' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7631:1: ( 'adaptationOperationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7632:1: 'adaptationOperationScope'
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2()); 
+            match(input,64,FollowSets000.FOLLOW_64_in_rule__AdaptationActionOperation__Group__2__Impl15121); 
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__2__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7645:1: rule__AdaptationActionOperation__Group__3 : rule__AdaptationActionOperation__Group__3__Impl rule__AdaptationActionOperation__Group__4 ;
+    public final void rule__AdaptationActionOperation__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7649:1: ( rule__AdaptationActionOperation__Group__3__Impl rule__AdaptationActionOperation__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7650:2: rule__AdaptationActionOperation__Group__3__Impl rule__AdaptationActionOperation__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__3__Impl_in_rule__AdaptationActionOperation__Group__315152);
+            rule__AdaptationActionOperation__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__4_in_rule__AdaptationActionOperation__Group__315155);
+            rule__AdaptationActionOperation__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__3"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7657:1: rule__AdaptationActionOperation__Group__3__Impl : ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) ) ;
+    public final void rule__AdaptationActionOperation__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7661:1: ( ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7662:1: ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7662:1: ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7663:1: ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 )
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7664:1: ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7664:2: rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3_in_rule__AdaptationActionOperation__Group__3__Impl15182);
+            rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__3__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7674:1: rule__AdaptationActionOperation__Group__4 : rule__AdaptationActionOperation__Group__4__Impl rule__AdaptationActionOperation__Group__5 ;
+    public final void rule__AdaptationActionOperation__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7678:1: ( rule__AdaptationActionOperation__Group__4__Impl rule__AdaptationActionOperation__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7679:2: rule__AdaptationActionOperation__Group__4__Impl rule__AdaptationActionOperation__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__4__Impl_in_rule__AdaptationActionOperation__Group__415212);
+            rule__AdaptationActionOperation__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__5_in_rule__AdaptationActionOperation__Group__415215);
+            rule__AdaptationActionOperation__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__4"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7686:1: rule__AdaptationActionOperation__Group__4__Impl : ( 'adaptationOperationDirection' ) ;
+    public final void rule__AdaptationActionOperation__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7690:1: ( ( 'adaptationOperationDirection' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7691:1: ( 'adaptationOperationDirection' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7691:1: ( 'adaptationOperationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7692:1: 'adaptationOperationDirection'
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4()); 
+            match(input,65,FollowSets000.FOLLOW_65_in_rule__AdaptationActionOperation__Group__4__Impl15243); 
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__4__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7705:1: rule__AdaptationActionOperation__Group__5 : rule__AdaptationActionOperation__Group__5__Impl rule__AdaptationActionOperation__Group__6 ;
+    public final void rule__AdaptationActionOperation__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7709:1: ( rule__AdaptationActionOperation__Group__5__Impl rule__AdaptationActionOperation__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7710:2: rule__AdaptationActionOperation__Group__5__Impl rule__AdaptationActionOperation__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__5__Impl_in_rule__AdaptationActionOperation__Group__515274);
+            rule__AdaptationActionOperation__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__6_in_rule__AdaptationActionOperation__Group__515277);
+            rule__AdaptationActionOperation__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__5"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7717:1: rule__AdaptationActionOperation__Group__5__Impl : ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) ) ;
+    public final void rule__AdaptationActionOperation__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7721:1: ( ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7722:1: ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7722:1: ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7723:1: ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 )
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7724:1: ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7724:2: rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5_in_rule__AdaptationActionOperation__Group__5__Impl15304);
+            rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__5__Impl"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7734:1: rule__AdaptationActionOperation__Group__6 : rule__AdaptationActionOperation__Group__6__Impl ;
+    public final void rule__AdaptationActionOperation__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7738:1: ( rule__AdaptationActionOperation__Group__6__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7739:2: rule__AdaptationActionOperation__Group__6__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__6__Impl_in_rule__AdaptationActionOperation__Group__615334);
+            rule__AdaptationActionOperation__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__6"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7745:1: rule__AdaptationActionOperation__Group__6__Impl : ( '}' ) ;
+    public final void rule__AdaptationActionOperation__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7749:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7750:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7750:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7751:1: '}'
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationActionOperation__Group__6__Impl15362); 
+             after(grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__Group__6__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7778:1: rule__ModelVariableConfigurationRange__Group__0 : rule__ModelVariableConfigurationRange__Group__0__Impl rule__ModelVariableConfigurationRange__Group__1 ;
+    public final void rule__ModelVariableConfigurationRange__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7782:1: ( rule__ModelVariableConfigurationRange__Group__0__Impl rule__ModelVariableConfigurationRange__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7783:2: rule__ModelVariableConfigurationRange__Group__0__Impl rule__ModelVariableConfigurationRange__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__0__Impl_in_rule__ModelVariableConfigurationRange__Group__015407);
+            rule__ModelVariableConfigurationRange__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__1_in_rule__ModelVariableConfigurationRange__Group__015410);
+            rule__ModelVariableConfigurationRange__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__0"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7790:1: rule__ModelVariableConfigurationRange__Group__0__Impl : ( 'ModelVariableConfigurationRange' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7794:1: ( ( 'ModelVariableConfigurationRange' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7795:1: ( 'ModelVariableConfigurationRange' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7795:1: ( 'ModelVariableConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7796:1: 'ModelVariableConfigurationRange'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0()); 
+            match(input,66,FollowSets000.FOLLOW_66_in_rule__ModelVariableConfigurationRange__Group__0__Impl15438); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__0__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7809:1: rule__ModelVariableConfigurationRange__Group__1 : rule__ModelVariableConfigurationRange__Group__1__Impl rule__ModelVariableConfigurationRange__Group__2 ;
+    public final void rule__ModelVariableConfigurationRange__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7813:1: ( rule__ModelVariableConfigurationRange__Group__1__Impl rule__ModelVariableConfigurationRange__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7814:2: rule__ModelVariableConfigurationRange__Group__1__Impl rule__ModelVariableConfigurationRange__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__1__Impl_in_rule__ModelVariableConfigurationRange__Group__115469);
+            rule__ModelVariableConfigurationRange__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__2_in_rule__ModelVariableConfigurationRange__Group__115472);
+            rule__ModelVariableConfigurationRange__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__1"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7821:1: rule__ModelVariableConfigurationRange__Group__1__Impl : ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7825:1: ( ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7826:1: ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7826:1: ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7827:1: ( rule__ModelVariableConfigurationRange__IdAssignment_1 )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7828:1: ( rule__ModelVariableConfigurationRange__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7828:2: rule__ModelVariableConfigurationRange__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__IdAssignment_1_in_rule__ModelVariableConfigurationRange__Group__1__Impl15499);
+            rule__ModelVariableConfigurationRange__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__1__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7838:1: rule__ModelVariableConfigurationRange__Group__2 : rule__ModelVariableConfigurationRange__Group__2__Impl rule__ModelVariableConfigurationRange__Group__3 ;
+    public final void rule__ModelVariableConfigurationRange__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7842:1: ( rule__ModelVariableConfigurationRange__Group__2__Impl rule__ModelVariableConfigurationRange__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7843:2: rule__ModelVariableConfigurationRange__Group__2__Impl rule__ModelVariableConfigurationRange__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__2__Impl_in_rule__ModelVariableConfigurationRange__Group__215529);
+            rule__ModelVariableConfigurationRange__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__3_in_rule__ModelVariableConfigurationRange__Group__215532);
+            rule__ModelVariableConfigurationRange__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__2"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7850:1: rule__ModelVariableConfigurationRange__Group__2__Impl : ( '{' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7854:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7855:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7855:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7856:1: '{'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__ModelVariableConfigurationRange__Group__2__Impl15560); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__2__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7869:1: rule__ModelVariableConfigurationRange__Group__3 : rule__ModelVariableConfigurationRange__Group__3__Impl rule__ModelVariableConfigurationRange__Group__4 ;
+    public final void rule__ModelVariableConfigurationRange__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7873:1: ( rule__ModelVariableConfigurationRange__Group__3__Impl rule__ModelVariableConfigurationRange__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7874:2: rule__ModelVariableConfigurationRange__Group__3__Impl rule__ModelVariableConfigurationRange__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__3__Impl_in_rule__ModelVariableConfigurationRange__Group__315591);
+            rule__ModelVariableConfigurationRange__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__4_in_rule__ModelVariableConfigurationRange__Group__315594);
+            rule__ModelVariableConfigurationRange__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__3"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7881:1: rule__ModelVariableConfigurationRange__Group__3__Impl : ( 'name' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7885:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7886:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7886:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7887:1: 'name'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__ModelVariableConfigurationRange__Group__3__Impl15622); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__3__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7900:1: rule__ModelVariableConfigurationRange__Group__4 : rule__ModelVariableConfigurationRange__Group__4__Impl rule__ModelVariableConfigurationRange__Group__5 ;
+    public final void rule__ModelVariableConfigurationRange__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7904:1: ( rule__ModelVariableConfigurationRange__Group__4__Impl rule__ModelVariableConfigurationRange__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7905:2: rule__ModelVariableConfigurationRange__Group__4__Impl rule__ModelVariableConfigurationRange__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__4__Impl_in_rule__ModelVariableConfigurationRange__Group__415653);
+            rule__ModelVariableConfigurationRange__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__5_in_rule__ModelVariableConfigurationRange__Group__415656);
+            rule__ModelVariableConfigurationRange__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__4"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7912:1: rule__ModelVariableConfigurationRange__Group__4__Impl : ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7916:1: ( ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7917:1: ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7917:1: ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7918:1: ( rule__ModelVariableConfigurationRange__NameAssignment_4 )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7919:1: ( rule__ModelVariableConfigurationRange__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7919:2: rule__ModelVariableConfigurationRange__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__NameAssignment_4_in_rule__ModelVariableConfigurationRange__Group__4__Impl15683);
+            rule__ModelVariableConfigurationRange__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__4__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7929:1: rule__ModelVariableConfigurationRange__Group__5 : rule__ModelVariableConfigurationRange__Group__5__Impl rule__ModelVariableConfigurationRange__Group__6 ;
+    public final void rule__ModelVariableConfigurationRange__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7933:1: ( rule__ModelVariableConfigurationRange__Group__5__Impl rule__ModelVariableConfigurationRange__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7934:2: rule__ModelVariableConfigurationRange__Group__5__Impl rule__ModelVariableConfigurationRange__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__5__Impl_in_rule__ModelVariableConfigurationRange__Group__515713);
+            rule__ModelVariableConfigurationRange__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__6_in_rule__ModelVariableConfigurationRange__Group__515716);
+            rule__ModelVariableConfigurationRange__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__5"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7941:1: rule__ModelVariableConfigurationRange__Group__5__Impl : ( 'minValue' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7945:1: ( ( 'minValue' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7946:1: ( 'minValue' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7946:1: ( 'minValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7947:1: 'minValue'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5()); 
+            match(input,67,FollowSets000.FOLLOW_67_in_rule__ModelVariableConfigurationRange__Group__5__Impl15744); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__5__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7960:1: rule__ModelVariableConfigurationRange__Group__6 : rule__ModelVariableConfigurationRange__Group__6__Impl rule__ModelVariableConfigurationRange__Group__7 ;
+    public final void rule__ModelVariableConfigurationRange__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7964:1: ( rule__ModelVariableConfigurationRange__Group__6__Impl rule__ModelVariableConfigurationRange__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7965:2: rule__ModelVariableConfigurationRange__Group__6__Impl rule__ModelVariableConfigurationRange__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__6__Impl_in_rule__ModelVariableConfigurationRange__Group__615775);
+            rule__ModelVariableConfigurationRange__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__7_in_rule__ModelVariableConfigurationRange__Group__615778);
+            rule__ModelVariableConfigurationRange__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__6"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7972:1: rule__ModelVariableConfigurationRange__Group__6__Impl : ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7976:1: ( ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7977:1: ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7977:1: ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7978:1: ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7979:1: ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7979:2: rule__ModelVariableConfigurationRange__MinValueAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__MinValueAssignment_6_in_rule__ModelVariableConfigurationRange__Group__6__Impl15805);
+            rule__ModelVariableConfigurationRange__MinValueAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__6__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7989:1: rule__ModelVariableConfigurationRange__Group__7 : rule__ModelVariableConfigurationRange__Group__7__Impl rule__ModelVariableConfigurationRange__Group__8 ;
+    public final void rule__ModelVariableConfigurationRange__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7993:1: ( rule__ModelVariableConfigurationRange__Group__7__Impl rule__ModelVariableConfigurationRange__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:7994:2: rule__ModelVariableConfigurationRange__Group__7__Impl rule__ModelVariableConfigurationRange__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__7__Impl_in_rule__ModelVariableConfigurationRange__Group__715835);
+            rule__ModelVariableConfigurationRange__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__8_in_rule__ModelVariableConfigurationRange__Group__715838);
+            rule__ModelVariableConfigurationRange__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__7"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8001:1: rule__ModelVariableConfigurationRange__Group__7__Impl : ( 'maxValue' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8005:1: ( ( 'maxValue' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8006:1: ( 'maxValue' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8006:1: ( 'maxValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8007:1: 'maxValue'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7()); 
+            match(input,68,FollowSets000.FOLLOW_68_in_rule__ModelVariableConfigurationRange__Group__7__Impl15866); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__7__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8020:1: rule__ModelVariableConfigurationRange__Group__8 : rule__ModelVariableConfigurationRange__Group__8__Impl rule__ModelVariableConfigurationRange__Group__9 ;
+    public final void rule__ModelVariableConfigurationRange__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8024:1: ( rule__ModelVariableConfigurationRange__Group__8__Impl rule__ModelVariableConfigurationRange__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8025:2: rule__ModelVariableConfigurationRange__Group__8__Impl rule__ModelVariableConfigurationRange__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__8__Impl_in_rule__ModelVariableConfigurationRange__Group__815897);
+            rule__ModelVariableConfigurationRange__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__9_in_rule__ModelVariableConfigurationRange__Group__815900);
+            rule__ModelVariableConfigurationRange__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__8"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8032:1: rule__ModelVariableConfigurationRange__Group__8__Impl : ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8036:1: ( ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8037:1: ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8037:1: ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8038:1: ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8039:1: ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8039:2: rule__ModelVariableConfigurationRange__MaxValueAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__MaxValueAssignment_8_in_rule__ModelVariableConfigurationRange__Group__8__Impl15927);
+            rule__ModelVariableConfigurationRange__MaxValueAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__8__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8049:1: rule__ModelVariableConfigurationRange__Group__9 : rule__ModelVariableConfigurationRange__Group__9__Impl rule__ModelVariableConfigurationRange__Group__10 ;
+    public final void rule__ModelVariableConfigurationRange__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8053:1: ( rule__ModelVariableConfigurationRange__Group__9__Impl rule__ModelVariableConfigurationRange__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8054:2: rule__ModelVariableConfigurationRange__Group__9__Impl rule__ModelVariableConfigurationRange__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__9__Impl_in_rule__ModelVariableConfigurationRange__Group__915957);
+            rule__ModelVariableConfigurationRange__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__10_in_rule__ModelVariableConfigurationRange__Group__915960);
+            rule__ModelVariableConfigurationRange__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__9"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8061:1: rule__ModelVariableConfigurationRange__Group__9__Impl : ( 'adaptableEntity' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8065:1: ( ( 'adaptableEntity' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8066:1: ( 'adaptableEntity' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8066:1: ( 'adaptableEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8067:1: 'adaptableEntity'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9()); 
+            match(input,69,FollowSets000.FOLLOW_69_in_rule__ModelVariableConfigurationRange__Group__9__Impl15988); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__9__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8080:1: rule__ModelVariableConfigurationRange__Group__10 : rule__ModelVariableConfigurationRange__Group__10__Impl rule__ModelVariableConfigurationRange__Group__11 ;
+    public final void rule__ModelVariableConfigurationRange__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8084:1: ( rule__ModelVariableConfigurationRange__Group__10__Impl rule__ModelVariableConfigurationRange__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8085:2: rule__ModelVariableConfigurationRange__Group__10__Impl rule__ModelVariableConfigurationRange__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__10__Impl_in_rule__ModelVariableConfigurationRange__Group__1016019);
+            rule__ModelVariableConfigurationRange__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__11_in_rule__ModelVariableConfigurationRange__Group__1016022);
+            rule__ModelVariableConfigurationRange__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__10"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8092:1: rule__ModelVariableConfigurationRange__Group__10__Impl : ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8096:1: ( ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8097:1: ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8097:1: ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8098:1: ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8099:1: ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8099:2: rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10_in_rule__ModelVariableConfigurationRange__Group__10__Impl16049);
+            rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__10__Impl"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8109:1: rule__ModelVariableConfigurationRange__Group__11 : rule__ModelVariableConfigurationRange__Group__11__Impl ;
+    public final void rule__ModelVariableConfigurationRange__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8113:1: ( rule__ModelVariableConfigurationRange__Group__11__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8114:2: rule__ModelVariableConfigurationRange__Group__11__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__11__Impl_in_rule__ModelVariableConfigurationRange__Group__1116079);
+            rule__ModelVariableConfigurationRange__Group__11__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__11"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8120:1: rule__ModelVariableConfigurationRange__Group__11__Impl : ( '}' ) ;
+    public final void rule__ModelVariableConfigurationRange__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8124:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8125:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8125:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8126:1: '}'
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ModelVariableConfigurationRange__Group__11__Impl16107); 
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__11__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8163:1: rule__ModelEntityConfigurationRange__Group__0 : rule__ModelEntityConfigurationRange__Group__0__Impl rule__ModelEntityConfigurationRange__Group__1 ;
+    public final void rule__ModelEntityConfigurationRange__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8167:1: ( rule__ModelEntityConfigurationRange__Group__0__Impl rule__ModelEntityConfigurationRange__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8168:2: rule__ModelEntityConfigurationRange__Group__0__Impl rule__ModelEntityConfigurationRange__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__0__Impl_in_rule__ModelEntityConfigurationRange__Group__016162);
+            rule__ModelEntityConfigurationRange__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__1_in_rule__ModelEntityConfigurationRange__Group__016165);
+            rule__ModelEntityConfigurationRange__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__0"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8175:1: rule__ModelEntityConfigurationRange__Group__0__Impl : ( 'ModelEntityConfigurationRange' ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8179:1: ( ( 'ModelEntityConfigurationRange' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8180:1: ( 'ModelEntityConfigurationRange' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8180:1: ( 'ModelEntityConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8181:1: 'ModelEntityConfigurationRange'
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0()); 
+            match(input,70,FollowSets000.FOLLOW_70_in_rule__ModelEntityConfigurationRange__Group__0__Impl16193); 
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__0__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8194:1: rule__ModelEntityConfigurationRange__Group__1 : rule__ModelEntityConfigurationRange__Group__1__Impl rule__ModelEntityConfigurationRange__Group__2 ;
+    public final void rule__ModelEntityConfigurationRange__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8198:1: ( rule__ModelEntityConfigurationRange__Group__1__Impl rule__ModelEntityConfigurationRange__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8199:2: rule__ModelEntityConfigurationRange__Group__1__Impl rule__ModelEntityConfigurationRange__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__1__Impl_in_rule__ModelEntityConfigurationRange__Group__116224);
+            rule__ModelEntityConfigurationRange__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__2_in_rule__ModelEntityConfigurationRange__Group__116227);
+            rule__ModelEntityConfigurationRange__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__1"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8206:1: rule__ModelEntityConfigurationRange__Group__1__Impl : ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8210:1: ( ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8211:1: ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8211:1: ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8212:1: ( rule__ModelEntityConfigurationRange__IdAssignment_1 )
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8213:1: ( rule__ModelEntityConfigurationRange__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8213:2: rule__ModelEntityConfigurationRange__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__IdAssignment_1_in_rule__ModelEntityConfigurationRange__Group__1__Impl16254);
+            rule__ModelEntityConfigurationRange__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__1__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8223:1: rule__ModelEntityConfigurationRange__Group__2 : rule__ModelEntityConfigurationRange__Group__2__Impl rule__ModelEntityConfigurationRange__Group__3 ;
+    public final void rule__ModelEntityConfigurationRange__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8227:1: ( rule__ModelEntityConfigurationRange__Group__2__Impl rule__ModelEntityConfigurationRange__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8228:2: rule__ModelEntityConfigurationRange__Group__2__Impl rule__ModelEntityConfigurationRange__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__2__Impl_in_rule__ModelEntityConfigurationRange__Group__216284);
+            rule__ModelEntityConfigurationRange__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__3_in_rule__ModelEntityConfigurationRange__Group__216287);
+            rule__ModelEntityConfigurationRange__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__2"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8235:1: rule__ModelEntityConfigurationRange__Group__2__Impl : ( '{' ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8239:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8240:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8240:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8241:1: '{'
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__ModelEntityConfigurationRange__Group__2__Impl16315); 
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__2__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8254:1: rule__ModelEntityConfigurationRange__Group__3 : rule__ModelEntityConfigurationRange__Group__3__Impl rule__ModelEntityConfigurationRange__Group__4 ;
+    public final void rule__ModelEntityConfigurationRange__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8258:1: ( rule__ModelEntityConfigurationRange__Group__3__Impl rule__ModelEntityConfigurationRange__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8259:2: rule__ModelEntityConfigurationRange__Group__3__Impl rule__ModelEntityConfigurationRange__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__3__Impl_in_rule__ModelEntityConfigurationRange__Group__316346);
+            rule__ModelEntityConfigurationRange__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__4_in_rule__ModelEntityConfigurationRange__Group__316349);
+            rule__ModelEntityConfigurationRange__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__3"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8266:1: rule__ModelEntityConfigurationRange__Group__3__Impl : ( 'name' ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8270:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8271:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8271:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8272:1: 'name'
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__ModelEntityConfigurationRange__Group__3__Impl16377); 
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__3__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8285:1: rule__ModelEntityConfigurationRange__Group__4 : rule__ModelEntityConfigurationRange__Group__4__Impl rule__ModelEntityConfigurationRange__Group__5 ;
+    public final void rule__ModelEntityConfigurationRange__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8289:1: ( rule__ModelEntityConfigurationRange__Group__4__Impl rule__ModelEntityConfigurationRange__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8290:2: rule__ModelEntityConfigurationRange__Group__4__Impl rule__ModelEntityConfigurationRange__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__4__Impl_in_rule__ModelEntityConfigurationRange__Group__416408);
+            rule__ModelEntityConfigurationRange__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__5_in_rule__ModelEntityConfigurationRange__Group__416411);
+            rule__ModelEntityConfigurationRange__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__4"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8297:1: rule__ModelEntityConfigurationRange__Group__4__Impl : ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8301:1: ( ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8302:1: ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8302:1: ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8303:1: ( rule__ModelEntityConfigurationRange__NameAssignment_4 )
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8304:1: ( rule__ModelEntityConfigurationRange__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8304:2: rule__ModelEntityConfigurationRange__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__NameAssignment_4_in_rule__ModelEntityConfigurationRange__Group__4__Impl16438);
+            rule__ModelEntityConfigurationRange__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__4__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8314:1: rule__ModelEntityConfigurationRange__Group__5 : rule__ModelEntityConfigurationRange__Group__5__Impl rule__ModelEntityConfigurationRange__Group__6 ;
+    public final void rule__ModelEntityConfigurationRange__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8318:1: ( rule__ModelEntityConfigurationRange__Group__5__Impl rule__ModelEntityConfigurationRange__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8319:2: rule__ModelEntityConfigurationRange__Group__5__Impl rule__ModelEntityConfigurationRange__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__5__Impl_in_rule__ModelEntityConfigurationRange__Group__516468);
+            rule__ModelEntityConfigurationRange__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__6_in_rule__ModelEntityConfigurationRange__Group__516471);
+            rule__ModelEntityConfigurationRange__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__5"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8326:1: rule__ModelEntityConfigurationRange__Group__5__Impl : ( 'adaptableEntity' ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8330:1: ( ( 'adaptableEntity' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8331:1: ( 'adaptableEntity' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8331:1: ( 'adaptableEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8332:1: 'adaptableEntity'
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5()); 
+            match(input,69,FollowSets000.FOLLOW_69_in_rule__ModelEntityConfigurationRange__Group__5__Impl16499); 
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__5__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8345:1: rule__ModelEntityConfigurationRange__Group__6 : rule__ModelEntityConfigurationRange__Group__6__Impl rule__ModelEntityConfigurationRange__Group__7 ;
+    public final void rule__ModelEntityConfigurationRange__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8349:1: ( rule__ModelEntityConfigurationRange__Group__6__Impl rule__ModelEntityConfigurationRange__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8350:2: rule__ModelEntityConfigurationRange__Group__6__Impl rule__ModelEntityConfigurationRange__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__6__Impl_in_rule__ModelEntityConfigurationRange__Group__616530);
+            rule__ModelEntityConfigurationRange__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__7_in_rule__ModelEntityConfigurationRange__Group__616533);
+            rule__ModelEntityConfigurationRange__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__6"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8357:1: rule__ModelEntityConfigurationRange__Group__6__Impl : ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8361:1: ( ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8362:1: ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8362:1: ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8363:1: ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 )
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8364:1: ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8364:2: rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6_in_rule__ModelEntityConfigurationRange__Group__6__Impl16560);
+            rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__6__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8374:1: rule__ModelEntityConfigurationRange__Group__7 : rule__ModelEntityConfigurationRange__Group__7__Impl rule__ModelEntityConfigurationRange__Group__8 ;
+    public final void rule__ModelEntityConfigurationRange__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8378:1: ( rule__ModelEntityConfigurationRange__Group__7__Impl rule__ModelEntityConfigurationRange__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8379:2: rule__ModelEntityConfigurationRange__Group__7__Impl rule__ModelEntityConfigurationRange__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__7__Impl_in_rule__ModelEntityConfigurationRange__Group__716590);
+            rule__ModelEntityConfigurationRange__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__8_in_rule__ModelEntityConfigurationRange__Group__716593);
+            rule__ModelEntityConfigurationRange__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__7"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8386:1: rule__ModelEntityConfigurationRange__Group__7__Impl : ( 'variationPossibility' ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8390:1: ( ( 'variationPossibility' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8391:1: ( 'variationPossibility' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8391:1: ( 'variationPossibility' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8392:1: 'variationPossibility'
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7()); 
+            match(input,71,FollowSets000.FOLLOW_71_in_rule__ModelEntityConfigurationRange__Group__7__Impl16621); 
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__7__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8405:1: rule__ModelEntityConfigurationRange__Group__8 : rule__ModelEntityConfigurationRange__Group__8__Impl rule__ModelEntityConfigurationRange__Group__9 ;
+    public final void rule__ModelEntityConfigurationRange__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8409:1: ( rule__ModelEntityConfigurationRange__Group__8__Impl rule__ModelEntityConfigurationRange__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8410:2: rule__ModelEntityConfigurationRange__Group__8__Impl rule__ModelEntityConfigurationRange__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__8__Impl_in_rule__ModelEntityConfigurationRange__Group__816652);
+            rule__ModelEntityConfigurationRange__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__9_in_rule__ModelEntityConfigurationRange__Group__816655);
+            rule__ModelEntityConfigurationRange__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__8"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8417:1: rule__ModelEntityConfigurationRange__Group__8__Impl : ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8421:1: ( ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8422:1: ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8422:1: ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8423:1: ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 )
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8424:1: ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8424:2: rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8_in_rule__ModelEntityConfigurationRange__Group__8__Impl16682);
+            rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__8__Impl"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8434:1: rule__ModelEntityConfigurationRange__Group__9 : rule__ModelEntityConfigurationRange__Group__9__Impl ;
+    public final void rule__ModelEntityConfigurationRange__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8438:1: ( rule__ModelEntityConfigurationRange__Group__9__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8439:2: rule__ModelEntityConfigurationRange__Group__9__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__9__Impl_in_rule__ModelEntityConfigurationRange__Group__916712);
+            rule__ModelEntityConfigurationRange__Group__9__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__9"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8445:1: rule__ModelEntityConfigurationRange__Group__9__Impl : ( '}' ) ;
+    public final void rule__ModelEntityConfigurationRange__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8449:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8450:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8450:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8451:1: '}'
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ModelEntityConfigurationRange__Group__9__Impl16740); 
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__9__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8484:1: rule__EDouble__Group__0 : rule__EDouble__Group__0__Impl rule__EDouble__Group__1 ;
+    public final void rule__EDouble__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8488:1: ( rule__EDouble__Group__0__Impl rule__EDouble__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8489:2: rule__EDouble__Group__0__Impl rule__EDouble__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__016791);
+            rule__EDouble__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__016794);
+            rule__EDouble__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__0"
+
+
+    // $ANTLR start "rule__EDouble__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8496:1: rule__EDouble__Group__0__Impl : ( ( '-' )? ) ;
+    public final void rule__EDouble__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8500:1: ( ( ( '-' )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8501:1: ( ( '-' )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8501:1: ( ( '-' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8502:1: ( '-' )?
+            {
+             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8503:1: ( '-' )?
+            int alt33=2;
+            int LA33_0 = input.LA(1);
+
+            if ( (LA33_0==72) ) {
+                alt33=1;
+            }
+            switch (alt33) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8504:2: '-'
+                    {
+                    match(input,72,FollowSets000.FOLLOW_72_in_rule__EDouble__Group__0__Impl16823); 
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__0__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8515:1: rule__EDouble__Group__1 : rule__EDouble__Group__1__Impl rule__EDouble__Group__2 ;
+    public final void rule__EDouble__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8519:1: ( rule__EDouble__Group__1__Impl rule__EDouble__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8520:2: rule__EDouble__Group__1__Impl rule__EDouble__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__116856);
+            rule__EDouble__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__116859);
+            rule__EDouble__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__1"
+
+
+    // $ANTLR start "rule__EDouble__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8527:1: rule__EDouble__Group__1__Impl : ( ( RULE_INT )? ) ;
+    public final void rule__EDouble__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8531:1: ( ( ( RULE_INT )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8532:1: ( ( RULE_INT )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8532:1: ( ( RULE_INT )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8533:1: ( RULE_INT )?
+            {
+             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8534:1: ( RULE_INT )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
+
+            if ( (LA34_0==RULE_INT) ) {
+                alt34=1;
+            }
+            switch (alt34) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8534:3: RULE_INT
+                    {
+                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl16887); 
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__1__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8544:1: rule__EDouble__Group__2 : rule__EDouble__Group__2__Impl rule__EDouble__Group__3 ;
+    public final void rule__EDouble__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8548:1: ( rule__EDouble__Group__2__Impl rule__EDouble__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8549:2: rule__EDouble__Group__2__Impl rule__EDouble__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__216918);
+            rule__EDouble__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__216921);
+            rule__EDouble__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__2"
+
+
+    // $ANTLR start "rule__EDouble__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8556:1: rule__EDouble__Group__2__Impl : ( '.' ) ;
+    public final void rule__EDouble__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8560:1: ( ( '.' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8561:1: ( '.' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8561:1: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8562:1: '.'
+            {
+             before(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
+            match(input,73,FollowSets000.FOLLOW_73_in_rule__EDouble__Group__2__Impl16949); 
+             after(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__2__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8575:1: rule__EDouble__Group__3 : rule__EDouble__Group__3__Impl rule__EDouble__Group__4 ;
+    public final void rule__EDouble__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8579:1: ( rule__EDouble__Group__3__Impl rule__EDouble__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8580:2: rule__EDouble__Group__3__Impl rule__EDouble__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__316980);
+            rule__EDouble__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__316983);
+            rule__EDouble__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__3"
+
+
+    // $ANTLR start "rule__EDouble__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8587:1: rule__EDouble__Group__3__Impl : ( RULE_INT ) ;
+    public final void rule__EDouble__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8591:1: ( ( RULE_INT ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8592:1: ( RULE_INT )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8592:1: ( RULE_INT )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8593:1: RULE_INT
+            {
+             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl17010); 
+             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__3__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8604:1: rule__EDouble__Group__4 : rule__EDouble__Group__4__Impl ;
+    public final void rule__EDouble__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8608:1: ( rule__EDouble__Group__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8609:2: rule__EDouble__Group__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__417039);
+            rule__EDouble__Group__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__4"
+
+
+    // $ANTLR start "rule__EDouble__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8615:1: rule__EDouble__Group__4__Impl : ( ( rule__EDouble__Group_4__0 )? ) ;
+    public final void rule__EDouble__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8619:1: ( ( ( rule__EDouble__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8620:1: ( ( rule__EDouble__Group_4__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8620:1: ( ( rule__EDouble__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8621:1: ( rule__EDouble__Group_4__0 )?
+            {
+             before(grammarAccess.getEDoubleAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8622:1: ( rule__EDouble__Group_4__0 )?
+            int alt35=2;
+            int LA35_0 = input.LA(1);
+
+            if ( ((LA35_0>=15 && LA35_0<=16)) ) {
+                alt35=1;
+            }
+            switch (alt35) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8622:2: rule__EDouble__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl17066);
+                    rule__EDouble__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getGroup_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group__4__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8642:1: rule__EDouble__Group_4__0 : rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1 ;
+    public final void rule__EDouble__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8646:1: ( rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8647:2: rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__017107);
+            rule__EDouble__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__017110);
+            rule__EDouble__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group_4__0"
+
+
+    // $ANTLR start "rule__EDouble__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8654:1: rule__EDouble__Group_4__0__Impl : ( ( rule__EDouble__Alternatives_4_0 ) ) ;
+    public final void rule__EDouble__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8658:1: ( ( ( rule__EDouble__Alternatives_4_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8659:1: ( ( rule__EDouble__Alternatives_4_0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8659:1: ( ( rule__EDouble__Alternatives_4_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8660:1: ( rule__EDouble__Alternatives_4_0 )
+            {
+             before(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8661:1: ( rule__EDouble__Alternatives_4_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8661:2: rule__EDouble__Alternatives_4_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl17137);
+            rule__EDouble__Alternatives_4_0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8671:1: rule__EDouble__Group_4__1 : rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2 ;
+    public final void rule__EDouble__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8675:1: ( rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8676:2: rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__117167);
+            rule__EDouble__Group_4__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__117170);
+            rule__EDouble__Group_4__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group_4__1"
+
+
+    // $ANTLR start "rule__EDouble__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8683:1: rule__EDouble__Group_4__1__Impl : ( ( '-' )? ) ;
+    public final void rule__EDouble__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8687:1: ( ( ( '-' )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8688:1: ( ( '-' )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8688:1: ( ( '-' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8689:1: ( '-' )?
+            {
+             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8690:1: ( '-' )?
+            int alt36=2;
+            int LA36_0 = input.LA(1);
+
+            if ( (LA36_0==72) ) {
+                alt36=1;
+            }
+            switch (alt36) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8691:2: '-'
+                    {
+                    match(input,72,FollowSets000.FOLLOW_72_in_rule__EDouble__Group_4__1__Impl17199); 
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__EDouble__Group_4__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8702:1: rule__EDouble__Group_4__2 : rule__EDouble__Group_4__2__Impl ;
+    public final void rule__EDouble__Group_4__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8706:1: ( rule__EDouble__Group_4__2__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8707:2: rule__EDouble__Group_4__2__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__217232);
+            rule__EDouble__Group_4__2__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group_4__2"
+
+
+    // $ANTLR start "rule__EDouble__Group_4__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8713:1: rule__EDouble__Group_4__2__Impl : ( RULE_INT ) ;
+    public final void rule__EDouble__Group_4__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8717:1: ( ( RULE_INT ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8718:1: ( RULE_INT )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8718:1: ( RULE_INT )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8719:1: RULE_INT
+            {
+             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl17259); 
+             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__EDouble__Group_4__2__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8736:1: rule__PropertyRange__Group__0 : rule__PropertyRange__Group__0__Impl rule__PropertyRange__Group__1 ;
+    public final void rule__PropertyRange__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8740:1: ( rule__PropertyRange__Group__0__Impl rule__PropertyRange__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8741:2: rule__PropertyRange__Group__0__Impl rule__PropertyRange__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__0__Impl_in_rule__PropertyRange__Group__017294);
+            rule__PropertyRange__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__1_in_rule__PropertyRange__Group__017297);
+            rule__PropertyRange__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__0"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8748:1: rule__PropertyRange__Group__0__Impl : ( 'PropertyRange' ) ;
+    public final void rule__PropertyRange__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8752:1: ( ( 'PropertyRange' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8753:1: ( 'PropertyRange' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8753:1: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8754:1: 'PropertyRange'
+            {
+             before(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0()); 
+            match(input,74,FollowSets000.FOLLOW_74_in_rule__PropertyRange__Group__0__Impl17325); 
+             after(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__0__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8767:1: rule__PropertyRange__Group__1 : rule__PropertyRange__Group__1__Impl rule__PropertyRange__Group__2 ;
+    public final void rule__PropertyRange__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8771:1: ( rule__PropertyRange__Group__1__Impl rule__PropertyRange__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8772:2: rule__PropertyRange__Group__1__Impl rule__PropertyRange__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__1__Impl_in_rule__PropertyRange__Group__117356);
+            rule__PropertyRange__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__2_in_rule__PropertyRange__Group__117359);
+            rule__PropertyRange__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__1"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8779:1: rule__PropertyRange__Group__1__Impl : ( '{' ) ;
+    public final void rule__PropertyRange__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8783:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8784:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8784:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8785:1: '{'
+            {
+             before(grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__PropertyRange__Group__1__Impl17387); 
+             after(grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__1__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8798:1: rule__PropertyRange__Group__2 : rule__PropertyRange__Group__2__Impl rule__PropertyRange__Group__3 ;
+    public final void rule__PropertyRange__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8802:1: ( rule__PropertyRange__Group__2__Impl rule__PropertyRange__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8803:2: rule__PropertyRange__Group__2__Impl rule__PropertyRange__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__2__Impl_in_rule__PropertyRange__Group__217418);
+            rule__PropertyRange__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__3_in_rule__PropertyRange__Group__217421);
+            rule__PropertyRange__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__2"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8810:1: rule__PropertyRange__Group__2__Impl : ( 'minValueConstraint' ) ;
+    public final void rule__PropertyRange__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8814:1: ( ( 'minValueConstraint' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8815:1: ( 'minValueConstraint' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8815:1: ( 'minValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8816:1: 'minValueConstraint'
+            {
+             before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2()); 
+            match(input,75,FollowSets000.FOLLOW_75_in_rule__PropertyRange__Group__2__Impl17449); 
+             after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__2__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8829:1: rule__PropertyRange__Group__3 : rule__PropertyRange__Group__3__Impl rule__PropertyRange__Group__4 ;
+    public final void rule__PropertyRange__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8833:1: ( rule__PropertyRange__Group__3__Impl rule__PropertyRange__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8834:2: rule__PropertyRange__Group__3__Impl rule__PropertyRange__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__3__Impl_in_rule__PropertyRange__Group__317480);
+            rule__PropertyRange__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__4_in_rule__PropertyRange__Group__317483);
+            rule__PropertyRange__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__3"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8841:1: rule__PropertyRange__Group__3__Impl : ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) ) ;
+    public final void rule__PropertyRange__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8845:1: ( ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8846:1: ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8846:1: ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8847:1: ( rule__PropertyRange__MinValueConstraintAssignment_3 )
+            {
+             before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8848:1: ( rule__PropertyRange__MinValueConstraintAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8848:2: rule__PropertyRange__MinValueConstraintAssignment_3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__MinValueConstraintAssignment_3_in_rule__PropertyRange__Group__3__Impl17510);
+            rule__PropertyRange__MinValueConstraintAssignment_3();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__3__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8858:1: rule__PropertyRange__Group__4 : rule__PropertyRange__Group__4__Impl rule__PropertyRange__Group__5 ;
+    public final void rule__PropertyRange__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8862:1: ( rule__PropertyRange__Group__4__Impl rule__PropertyRange__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8863:2: rule__PropertyRange__Group__4__Impl rule__PropertyRange__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__4__Impl_in_rule__PropertyRange__Group__417540);
+            rule__PropertyRange__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__5_in_rule__PropertyRange__Group__417543);
+            rule__PropertyRange__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__4"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8870:1: rule__PropertyRange__Group__4__Impl : ( 'maxValueConstraint' ) ;
+    public final void rule__PropertyRange__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8874:1: ( ( 'maxValueConstraint' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8875:1: ( 'maxValueConstraint' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8875:1: ( 'maxValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8876:1: 'maxValueConstraint'
+            {
+             before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4()); 
+            match(input,76,FollowSets000.FOLLOW_76_in_rule__PropertyRange__Group__4__Impl17571); 
+             after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__4__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8889:1: rule__PropertyRange__Group__5 : rule__PropertyRange__Group__5__Impl rule__PropertyRange__Group__6 ;
+    public final void rule__PropertyRange__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8893:1: ( rule__PropertyRange__Group__5__Impl rule__PropertyRange__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8894:2: rule__PropertyRange__Group__5__Impl rule__PropertyRange__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__5__Impl_in_rule__PropertyRange__Group__517602);
+            rule__PropertyRange__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__6_in_rule__PropertyRange__Group__517605);
+            rule__PropertyRange__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__5"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8901:1: rule__PropertyRange__Group__5__Impl : ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) ) ;
+    public final void rule__PropertyRange__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8905:1: ( ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8906:1: ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8906:1: ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8907:1: ( rule__PropertyRange__MaxValueConstraintAssignment_5 )
+            {
+             before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8908:1: ( rule__PropertyRange__MaxValueConstraintAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8908:2: rule__PropertyRange__MaxValueConstraintAssignment_5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__MaxValueConstraintAssignment_5_in_rule__PropertyRange__Group__5__Impl17632);
+            rule__PropertyRange__MaxValueConstraintAssignment_5();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__5__Impl"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8918:1: rule__PropertyRange__Group__6 : rule__PropertyRange__Group__6__Impl ;
+    public final void rule__PropertyRange__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8922:1: ( rule__PropertyRange__Group__6__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8923:2: rule__PropertyRange__Group__6__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__6__Impl_in_rule__PropertyRange__Group__617662);
+            rule__PropertyRange__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__6"
+
+
+    // $ANTLR start "rule__PropertyRange__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8929:1: rule__PropertyRange__Group__6__Impl : ( '}' ) ;
+    public final void rule__PropertyRange__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8933:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8934:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8934:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8935:1: '}'
+            {
+             before(grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__PropertyRange__Group__6__Impl17690); 
+             after(grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__Group__6__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8962:1: rule__SetOfConfigurations__Group__0 : rule__SetOfConfigurations__Group__0__Impl rule__SetOfConfigurations__Group__1 ;
+    public final void rule__SetOfConfigurations__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8966:1: ( rule__SetOfConfigurations__Group__0__Impl rule__SetOfConfigurations__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8967:2: rule__SetOfConfigurations__Group__0__Impl rule__SetOfConfigurations__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__0__Impl_in_rule__SetOfConfigurations__Group__017735);
+            rule__SetOfConfigurations__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__1_in_rule__SetOfConfigurations__Group__017738);
+            rule__SetOfConfigurations__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__0"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8974:1: rule__SetOfConfigurations__Group__0__Impl : ( 'SetOfConfigurations' ) ;
+    public final void rule__SetOfConfigurations__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8978:1: ( ( 'SetOfConfigurations' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8979:1: ( 'SetOfConfigurations' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8979:1: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8980:1: 'SetOfConfigurations'
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0()); 
+            match(input,77,FollowSets000.FOLLOW_77_in_rule__SetOfConfigurations__Group__0__Impl17766); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__0__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8993:1: rule__SetOfConfigurations__Group__1 : rule__SetOfConfigurations__Group__1__Impl rule__SetOfConfigurations__Group__2 ;
+    public final void rule__SetOfConfigurations__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8997:1: ( rule__SetOfConfigurations__Group__1__Impl rule__SetOfConfigurations__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:8998:2: rule__SetOfConfigurations__Group__1__Impl rule__SetOfConfigurations__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__1__Impl_in_rule__SetOfConfigurations__Group__117797);
+            rule__SetOfConfigurations__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__2_in_rule__SetOfConfigurations__Group__117800);
+            rule__SetOfConfigurations__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__1"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9005:1: rule__SetOfConfigurations__Group__1__Impl : ( '{' ) ;
+    public final void rule__SetOfConfigurations__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9009:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9010:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9010:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9011:1: '{'
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__SetOfConfigurations__Group__1__Impl17828); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__1__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9024:1: rule__SetOfConfigurations__Group__2 : rule__SetOfConfigurations__Group__2__Impl rule__SetOfConfigurations__Group__3 ;
+    public final void rule__SetOfConfigurations__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9028:1: ( rule__SetOfConfigurations__Group__2__Impl rule__SetOfConfigurations__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9029:2: rule__SetOfConfigurations__Group__2__Impl rule__SetOfConfigurations__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__2__Impl_in_rule__SetOfConfigurations__Group__217859);
+            rule__SetOfConfigurations__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__3_in_rule__SetOfConfigurations__Group__217862);
+            rule__SetOfConfigurations__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__2"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9036:1: rule__SetOfConfigurations__Group__2__Impl : ( ( rule__SetOfConfigurations__Group_2__0 )? ) ;
+    public final void rule__SetOfConfigurations__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9040:1: ( ( ( rule__SetOfConfigurations__Group_2__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9041:1: ( ( rule__SetOfConfigurations__Group_2__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9041:1: ( ( rule__SetOfConfigurations__Group_2__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9042:1: ( rule__SetOfConfigurations__Group_2__0 )?
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getGroup_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9043:1: ( rule__SetOfConfigurations__Group_2__0 )?
+            int alt37=2;
+            int LA37_0 = input.LA(1);
+
+            if ( (LA37_0==79) ) {
+                alt37=1;
+            }
+            switch (alt37) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9043:2: rule__SetOfConfigurations__Group_2__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__0_in_rule__SetOfConfigurations__Group__2__Impl17889);
+                    rule__SetOfConfigurations__Group_2__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getGroup_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__2__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9053:1: rule__SetOfConfigurations__Group__3 : rule__SetOfConfigurations__Group__3__Impl rule__SetOfConfigurations__Group__4 ;
+    public final void rule__SetOfConfigurations__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9057:1: ( rule__SetOfConfigurations__Group__3__Impl rule__SetOfConfigurations__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9058:2: rule__SetOfConfigurations__Group__3__Impl rule__SetOfConfigurations__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__3__Impl_in_rule__SetOfConfigurations__Group__317920);
+            rule__SetOfConfigurations__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__4_in_rule__SetOfConfigurations__Group__317923);
+            rule__SetOfConfigurations__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__3"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9065:1: rule__SetOfConfigurations__Group__3__Impl : ( 'valueConstraint' ) ;
+    public final void rule__SetOfConfigurations__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9069:1: ( ( 'valueConstraint' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9070:1: ( 'valueConstraint' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9070:1: ( 'valueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9071:1: 'valueConstraint'
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3()); 
+            match(input,78,FollowSets000.FOLLOW_78_in_rule__SetOfConfigurations__Group__3__Impl17951); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__3__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9084:1: rule__SetOfConfigurations__Group__4 : rule__SetOfConfigurations__Group__4__Impl rule__SetOfConfigurations__Group__5 ;
+    public final void rule__SetOfConfigurations__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9088:1: ( rule__SetOfConfigurations__Group__4__Impl rule__SetOfConfigurations__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9089:2: rule__SetOfConfigurations__Group__4__Impl rule__SetOfConfigurations__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__4__Impl_in_rule__SetOfConfigurations__Group__417982);
+            rule__SetOfConfigurations__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__5_in_rule__SetOfConfigurations__Group__417985);
+            rule__SetOfConfigurations__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__4"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9096:1: rule__SetOfConfigurations__Group__4__Impl : ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) ) ;
+    public final void rule__SetOfConfigurations__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9100:1: ( ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9101:1: ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9101:1: ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9102:1: ( rule__SetOfConfigurations__ValueConstraintAssignment_4 )
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9103:1: ( rule__SetOfConfigurations__ValueConstraintAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9103:2: rule__SetOfConfigurations__ValueConstraintAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__ValueConstraintAssignment_4_in_rule__SetOfConfigurations__Group__4__Impl18012);
+            rule__SetOfConfigurations__ValueConstraintAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__4__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9113:1: rule__SetOfConfigurations__Group__5 : rule__SetOfConfigurations__Group__5__Impl ;
+    public final void rule__SetOfConfigurations__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9117:1: ( rule__SetOfConfigurations__Group__5__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9118:2: rule__SetOfConfigurations__Group__5__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__5__Impl_in_rule__SetOfConfigurations__Group__518042);
+            rule__SetOfConfigurations__Group__5__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__5"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9124:1: rule__SetOfConfigurations__Group__5__Impl : ( '}' ) ;
+    public final void rule__SetOfConfigurations__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9128:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9129:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9129:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9130:1: '}'
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__SetOfConfigurations__Group__5__Impl18070); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group__5__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9155:1: rule__SetOfConfigurations__Group_2__0 : rule__SetOfConfigurations__Group_2__0__Impl rule__SetOfConfigurations__Group_2__1 ;
+    public final void rule__SetOfConfigurations__Group_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9159:1: ( rule__SetOfConfigurations__Group_2__0__Impl rule__SetOfConfigurations__Group_2__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9160:2: rule__SetOfConfigurations__Group_2__0__Impl rule__SetOfConfigurations__Group_2__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__0__Impl_in_rule__SetOfConfigurations__Group_2__018113);
+            rule__SetOfConfigurations__Group_2__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__1_in_rule__SetOfConfigurations__Group_2__018116);
+            rule__SetOfConfigurations__Group_2__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__0"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9167:1: rule__SetOfConfigurations__Group_2__0__Impl : ( 'variants' ) ;
+    public final void rule__SetOfConfigurations__Group_2__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9171:1: ( ( 'variants' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9172:1: ( 'variants' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9172:1: ( 'variants' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9173:1: 'variants'
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0()); 
+            match(input,79,FollowSets000.FOLLOW_79_in_rule__SetOfConfigurations__Group_2__0__Impl18144); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__0__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9186:1: rule__SetOfConfigurations__Group_2__1 : rule__SetOfConfigurations__Group_2__1__Impl rule__SetOfConfigurations__Group_2__2 ;
+    public final void rule__SetOfConfigurations__Group_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9190:1: ( rule__SetOfConfigurations__Group_2__1__Impl rule__SetOfConfigurations__Group_2__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9191:2: rule__SetOfConfigurations__Group_2__1__Impl rule__SetOfConfigurations__Group_2__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__1__Impl_in_rule__SetOfConfigurations__Group_2__118175);
+            rule__SetOfConfigurations__Group_2__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__2_in_rule__SetOfConfigurations__Group_2__118178);
+            rule__SetOfConfigurations__Group_2__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__1"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9198:1: rule__SetOfConfigurations__Group_2__1__Impl : ( '(' ) ;
+    public final void rule__SetOfConfigurations__Group_2__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9202:1: ( ( '(' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9203:1: ( '(' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9203:1: ( '(' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9204:1: '('
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1()); 
+            match(input,30,FollowSets000.FOLLOW_30_in_rule__SetOfConfigurations__Group_2__1__Impl18206); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__1__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9217:1: rule__SetOfConfigurations__Group_2__2 : rule__SetOfConfigurations__Group_2__2__Impl rule__SetOfConfigurations__Group_2__3 ;
+    public final void rule__SetOfConfigurations__Group_2__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9221:1: ( rule__SetOfConfigurations__Group_2__2__Impl rule__SetOfConfigurations__Group_2__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9222:2: rule__SetOfConfigurations__Group_2__2__Impl rule__SetOfConfigurations__Group_2__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__2__Impl_in_rule__SetOfConfigurations__Group_2__218237);
+            rule__SetOfConfigurations__Group_2__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__3_in_rule__SetOfConfigurations__Group_2__218240);
+            rule__SetOfConfigurations__Group_2__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__2"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9229:1: rule__SetOfConfigurations__Group_2__2__Impl : ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) ) ;
+    public final void rule__SetOfConfigurations__Group_2__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9233:1: ( ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9234:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9234:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9235:1: ( rule__SetOfConfigurations__VariantsAssignment_2_2 )
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9236:1: ( rule__SetOfConfigurations__VariantsAssignment_2_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9236:2: rule__SetOfConfigurations__VariantsAssignment_2_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_2_in_rule__SetOfConfigurations__Group_2__2__Impl18267);
+            rule__SetOfConfigurations__VariantsAssignment_2_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__2__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9246:1: rule__SetOfConfigurations__Group_2__3 : rule__SetOfConfigurations__Group_2__3__Impl rule__SetOfConfigurations__Group_2__4 ;
+    public final void rule__SetOfConfigurations__Group_2__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9250:1: ( rule__SetOfConfigurations__Group_2__3__Impl rule__SetOfConfigurations__Group_2__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9251:2: rule__SetOfConfigurations__Group_2__3__Impl rule__SetOfConfigurations__Group_2__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__3__Impl_in_rule__SetOfConfigurations__Group_2__318297);
+            rule__SetOfConfigurations__Group_2__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__4_in_rule__SetOfConfigurations__Group_2__318300);
+            rule__SetOfConfigurations__Group_2__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__3"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9258:1: rule__SetOfConfigurations__Group_2__3__Impl : ( ( rule__SetOfConfigurations__Group_2_3__0 )* ) ;
+    public final void rule__SetOfConfigurations__Group_2__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9262:1: ( ( ( rule__SetOfConfigurations__Group_2_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9263:1: ( ( rule__SetOfConfigurations__Group_2_3__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9263:1: ( ( rule__SetOfConfigurations__Group_2_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9264:1: ( rule__SetOfConfigurations__Group_2_3__0 )*
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9265:1: ( rule__SetOfConfigurations__Group_2_3__0 )*
+            loop38:
+            do {
+                int alt38=2;
+                int LA38_0 = input.LA(1);
+
+                if ( (LA38_0==25) ) {
+                    alt38=1;
+                }
+
+
+                switch (alt38) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9265:2: rule__SetOfConfigurations__Group_2_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__0_in_rule__SetOfConfigurations__Group_2__3__Impl18327);
+            	    rule__SetOfConfigurations__Group_2_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop38;
+                }
+            } while (true);
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__3__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9275:1: rule__SetOfConfigurations__Group_2__4 : rule__SetOfConfigurations__Group_2__4__Impl ;
+    public final void rule__SetOfConfigurations__Group_2__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9279:1: ( rule__SetOfConfigurations__Group_2__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9280:2: rule__SetOfConfigurations__Group_2__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__4__Impl_in_rule__SetOfConfigurations__Group_2__418358);
+            rule__SetOfConfigurations__Group_2__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__4"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9286:1: rule__SetOfConfigurations__Group_2__4__Impl : ( ')' ) ;
+    public final void rule__SetOfConfigurations__Group_2__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9290:1: ( ( ')' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9291:1: ( ')' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9291:1: ( ')' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9292:1: ')'
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4()); 
+            match(input,31,FollowSets000.FOLLOW_31_in_rule__SetOfConfigurations__Group_2__4__Impl18386); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2__4__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9315:1: rule__SetOfConfigurations__Group_2_3__0 : rule__SetOfConfigurations__Group_2_3__0__Impl rule__SetOfConfigurations__Group_2_3__1 ;
+    public final void rule__SetOfConfigurations__Group_2_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9319:1: ( rule__SetOfConfigurations__Group_2_3__0__Impl rule__SetOfConfigurations__Group_2_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9320:2: rule__SetOfConfigurations__Group_2_3__0__Impl rule__SetOfConfigurations__Group_2_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__0__Impl_in_rule__SetOfConfigurations__Group_2_3__018427);
+            rule__SetOfConfigurations__Group_2_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__1_in_rule__SetOfConfigurations__Group_2_3__018430);
+            rule__SetOfConfigurations__Group_2_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__0"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9327:1: rule__SetOfConfigurations__Group_2_3__0__Impl : ( ',' ) ;
+    public final void rule__SetOfConfigurations__Group_2_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9331:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9332:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9332:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9333:1: ','
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__SetOfConfigurations__Group_2_3__0__Impl18458); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__0__Impl"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9346:1: rule__SetOfConfigurations__Group_2_3__1 : rule__SetOfConfigurations__Group_2_3__1__Impl ;
+    public final void rule__SetOfConfigurations__Group_2_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9350:1: ( rule__SetOfConfigurations__Group_2_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9351:2: rule__SetOfConfigurations__Group_2_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__1__Impl_in_rule__SetOfConfigurations__Group_2_3__118489);
+            rule__SetOfConfigurations__Group_2_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__1"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9357:1: rule__SetOfConfigurations__Group_2_3__1__Impl : ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) ) ;
+    public final void rule__SetOfConfigurations__Group_2_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9361:1: ( ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9362:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9362:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9363:1: ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 )
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9364:1: ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9364:2: rule__SetOfConfigurations__VariantsAssignment_2_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_3_1_in_rule__SetOfConfigurations__Group_2_3__1__Impl18516);
+            rule__SetOfConfigurations__VariantsAssignment_2_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__1__Impl"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9378:1: rule__OclConstraint__Group__0 : rule__OclConstraint__Group__0__Impl rule__OclConstraint__Group__1 ;
+    public final void rule__OclConstraint__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9382:1: ( rule__OclConstraint__Group__0__Impl rule__OclConstraint__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9383:2: rule__OclConstraint__Group__0__Impl rule__OclConstraint__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__0__Impl_in_rule__OclConstraint__Group__018550);
+            rule__OclConstraint__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__1_in_rule__OclConstraint__Group__018553);
+            rule__OclConstraint__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__0"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9390:1: rule__OclConstraint__Group__0__Impl : ( 'OclConstraint' ) ;
+    public final void rule__OclConstraint__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9394:1: ( ( 'OclConstraint' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9395:1: ( 'OclConstraint' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9395:1: ( 'OclConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9396:1: 'OclConstraint'
+            {
+             before(grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0()); 
+            match(input,80,FollowSets000.FOLLOW_80_in_rule__OclConstraint__Group__0__Impl18581); 
+             after(grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__0__Impl"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9409:1: rule__OclConstraint__Group__1 : rule__OclConstraint__Group__1__Impl rule__OclConstraint__Group__2 ;
+    public final void rule__OclConstraint__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9413:1: ( rule__OclConstraint__Group__1__Impl rule__OclConstraint__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9414:2: rule__OclConstraint__Group__1__Impl rule__OclConstraint__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__1__Impl_in_rule__OclConstraint__Group__118612);
+            rule__OclConstraint__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__2_in_rule__OclConstraint__Group__118615);
+            rule__OclConstraint__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__1"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9421:1: rule__OclConstraint__Group__1__Impl : ( ( rule__OclConstraint__NameAssignment_1 ) ) ;
+    public final void rule__OclConstraint__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9425:1: ( ( ( rule__OclConstraint__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9426:1: ( ( rule__OclConstraint__NameAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9426:1: ( ( rule__OclConstraint__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9427:1: ( rule__OclConstraint__NameAssignment_1 )
+            {
+             before(grammarAccess.getOclConstraintAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9428:1: ( rule__OclConstraint__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9428:2: rule__OclConstraint__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__NameAssignment_1_in_rule__OclConstraint__Group__1__Impl18642);
+            rule__OclConstraint__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOclConstraintAccess().getNameAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__1__Impl"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9438:1: rule__OclConstraint__Group__2 : rule__OclConstraint__Group__2__Impl rule__OclConstraint__Group__3 ;
+    public final void rule__OclConstraint__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9442:1: ( rule__OclConstraint__Group__2__Impl rule__OclConstraint__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9443:2: rule__OclConstraint__Group__2__Impl rule__OclConstraint__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__2__Impl_in_rule__OclConstraint__Group__218672);
+            rule__OclConstraint__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__3_in_rule__OclConstraint__Group__218675);
+            rule__OclConstraint__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__2"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9450:1: rule__OclConstraint__Group__2__Impl : ( '{' ) ;
+    public final void rule__OclConstraint__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9454:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9455:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9455:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9456:1: '{'
+            {
+             before(grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__OclConstraint__Group__2__Impl18703); 
+             after(grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__2__Impl"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9469:1: rule__OclConstraint__Group__3 : rule__OclConstraint__Group__3__Impl rule__OclConstraint__Group__4 ;
+    public final void rule__OclConstraint__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9473:1: ( rule__OclConstraint__Group__3__Impl rule__OclConstraint__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9474:2: rule__OclConstraint__Group__3__Impl rule__OclConstraint__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__3__Impl_in_rule__OclConstraint__Group__318734);
+            rule__OclConstraint__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__4_in_rule__OclConstraint__Group__318737);
+            rule__OclConstraint__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__3"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9481:1: rule__OclConstraint__Group__3__Impl : ( 'oclString' ) ;
+    public final void rule__OclConstraint__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9485:1: ( ( 'oclString' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9486:1: ( 'oclString' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9486:1: ( 'oclString' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9487:1: 'oclString'
+            {
+             before(grammarAccess.getOclConstraintAccess().getOclStringKeyword_3()); 
+            match(input,81,FollowSets000.FOLLOW_81_in_rule__OclConstraint__Group__3__Impl18765); 
+             after(grammarAccess.getOclConstraintAccess().getOclStringKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__3__Impl"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9500:1: rule__OclConstraint__Group__4 : rule__OclConstraint__Group__4__Impl rule__OclConstraint__Group__5 ;
+    public final void rule__OclConstraint__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9504:1: ( rule__OclConstraint__Group__4__Impl rule__OclConstraint__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9505:2: rule__OclConstraint__Group__4__Impl rule__OclConstraint__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__4__Impl_in_rule__OclConstraint__Group__418796);
+            rule__OclConstraint__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__5_in_rule__OclConstraint__Group__418799);
+            rule__OclConstraint__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__4"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9512:1: rule__OclConstraint__Group__4__Impl : ( ( rule__OclConstraint__OclStringAssignment_4 ) ) ;
+    public final void rule__OclConstraint__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9516:1: ( ( ( rule__OclConstraint__OclStringAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9517:1: ( ( rule__OclConstraint__OclStringAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9517:1: ( ( rule__OclConstraint__OclStringAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9518:1: ( rule__OclConstraint__OclStringAssignment_4 )
+            {
+             before(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9519:1: ( rule__OclConstraint__OclStringAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9519:2: rule__OclConstraint__OclStringAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__OclStringAssignment_4_in_rule__OclConstraint__Group__4__Impl18826);
+            rule__OclConstraint__OclStringAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__4__Impl"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9529:1: rule__OclConstraint__Group__5 : rule__OclConstraint__Group__5__Impl ;
+    public final void rule__OclConstraint__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9533:1: ( rule__OclConstraint__Group__5__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9534:2: rule__OclConstraint__Group__5__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__5__Impl_in_rule__OclConstraint__Group__518856);
+            rule__OclConstraint__Group__5__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__5"
+
+
+    // $ANTLR start "rule__OclConstraint__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9540:1: rule__OclConstraint__Group__5__Impl : ( '}' ) ;
+    public final void rule__OclConstraint__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9544:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9545:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9545:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9546:1: '}'
+            {
+             before(grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__OclConstraint__Group__5__Impl18884); 
+             after(grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9571:1: rule__Objective__Group__0 : rule__Objective__Group__0__Impl rule__Objective__Group__1 ;
+    public final void rule__Objective__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9575:1: ( rule__Objective__Group__0__Impl rule__Objective__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9576:2: rule__Objective__Group__0__Impl rule__Objective__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__0__Impl_in_rule__Objective__Group__018927);
+            rule__Objective__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__1_in_rule__Objective__Group__018930);
+            rule__Objective__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__0"
+
+
+    // $ANTLR start "rule__Objective__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9583:1: rule__Objective__Group__0__Impl : ( 'Objective' ) ;
+    public final void rule__Objective__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9587:1: ( ( 'Objective' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9588:1: ( 'Objective' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9588:1: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9589:1: 'Objective'
+            {
+             before(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); 
+            match(input,82,FollowSets000.FOLLOW_82_in_rule__Objective__Group__0__Impl18958); 
+             after(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9602:1: rule__Objective__Group__1 : rule__Objective__Group__1__Impl rule__Objective__Group__2 ;
+    public final void rule__Objective__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9606:1: ( rule__Objective__Group__1__Impl rule__Objective__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9607:2: rule__Objective__Group__1__Impl rule__Objective__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__1__Impl_in_rule__Objective__Group__118989);
+            rule__Objective__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__2_in_rule__Objective__Group__118992);
+            rule__Objective__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__1"
+
+
+    // $ANTLR start "rule__Objective__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9614:1: rule__Objective__Group__1__Impl : ( ( rule__Objective__IdAssignment_1 ) ) ;
+    public final void rule__Objective__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9618:1: ( ( ( rule__Objective__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9619:1: ( ( rule__Objective__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9619:1: ( ( rule__Objective__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9620:1: ( rule__Objective__IdAssignment_1 )
+            {
+             before(grammarAccess.getObjectiveAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9621:1: ( rule__Objective__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9621:2: rule__Objective__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__IdAssignment_1_in_rule__Objective__Group__1__Impl19019);
+            rule__Objective__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getObjectiveAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9631:1: rule__Objective__Group__2 : rule__Objective__Group__2__Impl rule__Objective__Group__3 ;
+    public final void rule__Objective__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9635:1: ( rule__Objective__Group__2__Impl rule__Objective__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9636:2: rule__Objective__Group__2__Impl rule__Objective__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__2__Impl_in_rule__Objective__Group__219049);
+            rule__Objective__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__3_in_rule__Objective__Group__219052);
+            rule__Objective__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__2"
+
+
+    // $ANTLR start "rule__Objective__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9643:1: rule__Objective__Group__2__Impl : ( '{' ) ;
+    public final void rule__Objective__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9647:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9648:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9648:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9649:1: '{'
+            {
+             before(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Objective__Group__2__Impl19080); 
+             after(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9662:1: rule__Objective__Group__3 : rule__Objective__Group__3__Impl rule__Objective__Group__4 ;
+    public final void rule__Objective__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9666:1: ( rule__Objective__Group__3__Impl rule__Objective__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9667:2: rule__Objective__Group__3__Impl rule__Objective__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__3__Impl_in_rule__Objective__Group__319111);
+            rule__Objective__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__4_in_rule__Objective__Group__319114);
+            rule__Objective__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__3"
+
+
+    // $ANTLR start "rule__Objective__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9674:1: rule__Objective__Group__3__Impl : ( 'name' ) ;
+    public final void rule__Objective__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9678:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9679:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9679:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9680:1: 'name'
+            {
+             before(grammarAccess.getObjectiveAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__Objective__Group__3__Impl19142); 
+             after(grammarAccess.getObjectiveAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9693:1: rule__Objective__Group__4 : rule__Objective__Group__4__Impl rule__Objective__Group__5 ;
+    public final void rule__Objective__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9697:1: ( rule__Objective__Group__4__Impl rule__Objective__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9698:2: rule__Objective__Group__4__Impl rule__Objective__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__4__Impl_in_rule__Objective__Group__419173);
+            rule__Objective__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__5_in_rule__Objective__Group__419176);
+            rule__Objective__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__4"
+
+
+    // $ANTLR start "rule__Objective__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9705:1: rule__Objective__Group__4__Impl : ( ( rule__Objective__NameAssignment_4 ) ) ;
+    public final void rule__Objective__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9709:1: ( ( ( rule__Objective__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9710:1: ( ( rule__Objective__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9710:1: ( ( rule__Objective__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9711:1: ( rule__Objective__NameAssignment_4 )
+            {
+             before(grammarAccess.getObjectiveAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9712:1: ( rule__Objective__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9712:2: rule__Objective__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__NameAssignment_4_in_rule__Objective__Group__4__Impl19203);
+            rule__Objective__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getObjectiveAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9722:1: rule__Objective__Group__5 : rule__Objective__Group__5__Impl rule__Objective__Group__6 ;
+    public final void rule__Objective__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9726:1: ( rule__Objective__Group__5__Impl rule__Objective__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9727:2: rule__Objective__Group__5__Impl rule__Objective__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__5__Impl_in_rule__Objective__Group__519233);
+            rule__Objective__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__6_in_rule__Objective__Group__519236);
+            rule__Objective__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__5"
+
+
+    // $ANTLR start "rule__Objective__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9734:1: rule__Objective__Group__5__Impl : ( 'specifications' ) ;
+    public final void rule__Objective__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9738:1: ( ( 'specifications' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9739:1: ( 'specifications' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9739:1: ( 'specifications' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9740:1: 'specifications'
+            {
+             before(grammarAccess.getObjectiveAccess().getSpecificationsKeyword_5()); 
+            match(input,83,FollowSets000.FOLLOW_83_in_rule__Objective__Group__5__Impl19264); 
+             after(grammarAccess.getObjectiveAccess().getSpecificationsKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9753:1: rule__Objective__Group__6 : rule__Objective__Group__6__Impl rule__Objective__Group__7 ;
+    public final void rule__Objective__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9757:1: ( rule__Objective__Group__6__Impl rule__Objective__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9758:2: rule__Objective__Group__6__Impl rule__Objective__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__6__Impl_in_rule__Objective__Group__619295);
+            rule__Objective__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__7_in_rule__Objective__Group__619298);
+            rule__Objective__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__6"
+
+
+    // $ANTLR start "rule__Objective__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9765:1: rule__Objective__Group__6__Impl : ( '{' ) ;
+    public final void rule__Objective__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9769:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9770:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9770:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9771:1: '{'
+            {
+             before(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_6()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Objective__Group__6__Impl19326); 
+             after(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__6__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9784:1: rule__Objective__Group__7 : rule__Objective__Group__7__Impl rule__Objective__Group__8 ;
+    public final void rule__Objective__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9788:1: ( rule__Objective__Group__7__Impl rule__Objective__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9789:2: rule__Objective__Group__7__Impl rule__Objective__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__7__Impl_in_rule__Objective__Group__719357);
+            rule__Objective__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__8_in_rule__Objective__Group__719360);
+            rule__Objective__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__7"
+
+
+    // $ANTLR start "rule__Objective__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9796:1: rule__Objective__Group__7__Impl : ( ( rule__Objective__SpecificationsAssignment_7 ) ) ;
+    public final void rule__Objective__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9800:1: ( ( ( rule__Objective__SpecificationsAssignment_7 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9801:1: ( ( rule__Objective__SpecificationsAssignment_7 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9801:1: ( ( rule__Objective__SpecificationsAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9802:1: ( rule__Objective__SpecificationsAssignment_7 )
+            {
+             before(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9803:1: ( rule__Objective__SpecificationsAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9803:2: rule__Objective__SpecificationsAssignment_7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__SpecificationsAssignment_7_in_rule__Objective__Group__7__Impl19387);
+            rule__Objective__SpecificationsAssignment_7();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__7__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9813:1: rule__Objective__Group__8 : rule__Objective__Group__8__Impl rule__Objective__Group__9 ;
+    public final void rule__Objective__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9817:1: ( rule__Objective__Group__8__Impl rule__Objective__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9818:2: rule__Objective__Group__8__Impl rule__Objective__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__8__Impl_in_rule__Objective__Group__819417);
+            rule__Objective__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__9_in_rule__Objective__Group__819420);
+            rule__Objective__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__8"
+
+
+    // $ANTLR start "rule__Objective__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9825:1: rule__Objective__Group__8__Impl : ( ( rule__Objective__Group_8__0 )* ) ;
+    public final void rule__Objective__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9829:1: ( ( ( rule__Objective__Group_8__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9830:1: ( ( rule__Objective__Group_8__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9830:1: ( ( rule__Objective__Group_8__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9831:1: ( rule__Objective__Group_8__0 )*
+            {
+             before(grammarAccess.getObjectiveAccess().getGroup_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9832:1: ( rule__Objective__Group_8__0 )*
+            loop39:
+            do {
+                int alt39=2;
+                int LA39_0 = input.LA(1);
+
+                if ( (LA39_0==25) ) {
+                    alt39=1;
+                }
+
+
+                switch (alt39) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9832:2: rule__Objective__Group_8__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Objective__Group_8__0_in_rule__Objective__Group__8__Impl19447);
+            	    rule__Objective__Group_8__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop39;
+                }
+            } while (true);
+
+             after(grammarAccess.getObjectiveAccess().getGroup_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__8__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9842:1: rule__Objective__Group__9 : rule__Objective__Group__9__Impl rule__Objective__Group__10 ;
+    public final void rule__Objective__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9846:1: ( rule__Objective__Group__9__Impl rule__Objective__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9847:2: rule__Objective__Group__9__Impl rule__Objective__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__9__Impl_in_rule__Objective__Group__919478);
+            rule__Objective__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__10_in_rule__Objective__Group__919481);
+            rule__Objective__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__9"
+
+
+    // $ANTLR start "rule__Objective__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9854:1: rule__Objective__Group__9__Impl : ( '}' ) ;
+    public final void rule__Objective__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9858:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9859:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9859:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9860:1: '}'
+            {
+             before(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Objective__Group__9__Impl19509); 
+             after(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__9__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9873:1: rule__Objective__Group__10 : rule__Objective__Group__10__Impl ;
+    public final void rule__Objective__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9877:1: ( rule__Objective__Group__10__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9878:2: rule__Objective__Group__10__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__10__Impl_in_rule__Objective__Group__1019540);
+            rule__Objective__Group__10__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__10"
+
+
+    // $ANTLR start "rule__Objective__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9884:1: rule__Objective__Group__10__Impl : ( '}' ) ;
+    public final void rule__Objective__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9888:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9889:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9889:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9890:1: '}'
+            {
+             before(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_10()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Objective__Group__10__Impl19568); 
+             after(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group__10__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group_8__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9925:1: rule__Objective__Group_8__0 : rule__Objective__Group_8__0__Impl rule__Objective__Group_8__1 ;
+    public final void rule__Objective__Group_8__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9929:1: ( rule__Objective__Group_8__0__Impl rule__Objective__Group_8__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9930:2: rule__Objective__Group_8__0__Impl rule__Objective__Group_8__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group_8__0__Impl_in_rule__Objective__Group_8__019621);
+            rule__Objective__Group_8__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group_8__1_in_rule__Objective__Group_8__019624);
+            rule__Objective__Group_8__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group_8__0"
+
+
+    // $ANTLR start "rule__Objective__Group_8__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9937:1: rule__Objective__Group_8__0__Impl : ( ',' ) ;
+    public final void rule__Objective__Group_8__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9941:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9942:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9942:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9943:1: ','
+            {
+             before(grammarAccess.getObjectiveAccess().getCommaKeyword_8_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__Objective__Group_8__0__Impl19652); 
+             after(grammarAccess.getObjectiveAccess().getCommaKeyword_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group_8__0__Impl"
+
+
+    // $ANTLR start "rule__Objective__Group_8__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9956:1: rule__Objective__Group_8__1 : rule__Objective__Group_8__1__Impl ;
+    public final void rule__Objective__Group_8__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9960:1: ( rule__Objective__Group_8__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9961:2: rule__Objective__Group_8__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group_8__1__Impl_in_rule__Objective__Group_8__119683);
+            rule__Objective__Group_8__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group_8__1"
+
+
+    // $ANTLR start "rule__Objective__Group_8__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9967:1: rule__Objective__Group_8__1__Impl : ( ( rule__Objective__SpecificationsAssignment_8_1 ) ) ;
+    public final void rule__Objective__Group_8__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9971:1: ( ( ( rule__Objective__SpecificationsAssignment_8_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9972:1: ( ( rule__Objective__SpecificationsAssignment_8_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9972:1: ( ( rule__Objective__SpecificationsAssignment_8_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9973:1: ( rule__Objective__SpecificationsAssignment_8_1 )
+            {
+             before(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_8_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9974:1: ( rule__Objective__SpecificationsAssignment_8_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9974:2: rule__Objective__SpecificationsAssignment_8_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__SpecificationsAssignment_8_1_in_rule__Objective__Group_8__1__Impl19710);
+            rule__Objective__SpecificationsAssignment_8_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getObjectiveAccess().getSpecificationsAssignment_8_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__Group_8__1__Impl"
+
+
+    // $ANTLR start "rule__Event__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9988:1: rule__Event__Group__0 : rule__Event__Group__0__Impl rule__Event__Group__1 ;
+    public final void rule__Event__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9992:1: ( rule__Event__Group__0__Impl rule__Event__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:9993:2: rule__Event__Group__0__Impl rule__Event__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__0__Impl_in_rule__Event__Group__019744);
+            rule__Event__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__1_in_rule__Event__Group__019747);
+            rule__Event__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__0"
+
+
+    // $ANTLR start "rule__Event__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10000:1: rule__Event__Group__0__Impl : ( 'Event' ) ;
+    public final void rule__Event__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10004:1: ( ( 'Event' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10005:1: ( 'Event' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10005:1: ( 'Event' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10006:1: 'Event'
+            {
+             before(grammarAccess.getEventAccess().getEventKeyword_0()); 
+            match(input,84,FollowSets000.FOLLOW_84_in_rule__Event__Group__0__Impl19775); 
+             after(grammarAccess.getEventAccess().getEventKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Event__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10019:1: rule__Event__Group__1 : rule__Event__Group__1__Impl rule__Event__Group__2 ;
+    public final void rule__Event__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10023:1: ( rule__Event__Group__1__Impl rule__Event__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10024:2: rule__Event__Group__1__Impl rule__Event__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__1__Impl_in_rule__Event__Group__119806);
+            rule__Event__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__2_in_rule__Event__Group__119809);
+            rule__Event__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__1"
+
+
+    // $ANTLR start "rule__Event__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10031:1: rule__Event__Group__1__Impl : ( ( rule__Event__IdAssignment_1 ) ) ;
+    public final void rule__Event__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10035:1: ( ( ( rule__Event__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10036:1: ( ( rule__Event__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10036:1: ( ( rule__Event__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10037:1: ( rule__Event__IdAssignment_1 )
+            {
+             before(grammarAccess.getEventAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10038:1: ( rule__Event__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10038:2: rule__Event__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__IdAssignment_1_in_rule__Event__Group__1__Impl19836);
+            rule__Event__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getEventAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Event__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10048:1: rule__Event__Group__2 : rule__Event__Group__2__Impl rule__Event__Group__3 ;
+    public final void rule__Event__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10052:1: ( rule__Event__Group__2__Impl rule__Event__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10053:2: rule__Event__Group__2__Impl rule__Event__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__2__Impl_in_rule__Event__Group__219866);
+            rule__Event__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__3_in_rule__Event__Group__219869);
+            rule__Event__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__2"
+
+
+    // $ANTLR start "rule__Event__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10060:1: rule__Event__Group__2__Impl : ( '{' ) ;
+    public final void rule__Event__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10064:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10065:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10065:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10066:1: '{'
+            {
+             before(grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Event__Group__2__Impl19897); 
+             after(grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Event__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10079:1: rule__Event__Group__3 : rule__Event__Group__3__Impl rule__Event__Group__4 ;
+    public final void rule__Event__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10083:1: ( rule__Event__Group__3__Impl rule__Event__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10084:2: rule__Event__Group__3__Impl rule__Event__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__3__Impl_in_rule__Event__Group__319928);
+            rule__Event__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__4_in_rule__Event__Group__319931);
+            rule__Event__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__3"
+
+
+    // $ANTLR start "rule__Event__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10091:1: rule__Event__Group__3__Impl : ( 'name' ) ;
+    public final void rule__Event__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10095:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10096:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10096:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10097:1: 'name'
+            {
+             before(grammarAccess.getEventAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__Event__Group__3__Impl19959); 
+             after(grammarAccess.getEventAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Event__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10110:1: rule__Event__Group__4 : rule__Event__Group__4__Impl rule__Event__Group__5 ;
+    public final void rule__Event__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10114:1: ( rule__Event__Group__4__Impl rule__Event__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10115:2: rule__Event__Group__4__Impl rule__Event__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__4__Impl_in_rule__Event__Group__419990);
+            rule__Event__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__5_in_rule__Event__Group__419993);
+            rule__Event__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__4"
+
+
+    // $ANTLR start "rule__Event__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10122:1: rule__Event__Group__4__Impl : ( ( rule__Event__NameAssignment_4 ) ) ;
+    public final void rule__Event__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10126:1: ( ( ( rule__Event__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10127:1: ( ( rule__Event__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10127:1: ( ( rule__Event__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10128:1: ( rule__Event__NameAssignment_4 )
+            {
+             before(grammarAccess.getEventAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10129:1: ( rule__Event__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10129:2: rule__Event__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__NameAssignment_4_in_rule__Event__Group__4__Impl20020);
+            rule__Event__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getEventAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Event__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10139:1: rule__Event__Group__5 : rule__Event__Group__5__Impl ;
+    public final void rule__Event__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10143:1: ( rule__Event__Group__5__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10144:2: rule__Event__Group__5__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__5__Impl_in_rule__Event__Group__520050);
+            rule__Event__Group__5__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__5"
+
+
+    // $ANTLR start "rule__Event__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10150:1: rule__Event__Group__5__Impl : ( '}' ) ;
+    public final void rule__Event__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10154:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10155:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10155:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10156:1: '}'
+            {
+             before(grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Event__Group__5__Impl20078); 
+             after(grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__Group__5__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10181:1: rule__WeightedTactic__Group__0 : rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1 ;
+    public final void rule__WeightedTactic__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10185:1: ( rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10186:2: rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__0__Impl_in_rule__WeightedTactic__Group__020121);
+            rule__WeightedTactic__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__1_in_rule__WeightedTactic__Group__020124);
+            rule__WeightedTactic__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__0"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10193:1: rule__WeightedTactic__Group__0__Impl : ( 'WeightedTactic' ) ;
+    public final void rule__WeightedTactic__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10197:1: ( ( 'WeightedTactic' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10198:1: ( 'WeightedTactic' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10198:1: ( 'WeightedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10199:1: 'WeightedTactic'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0()); 
+            match(input,85,FollowSets000.FOLLOW_85_in_rule__WeightedTactic__Group__0__Impl20152); 
+             after(grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__0__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10212:1: rule__WeightedTactic__Group__1 : rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2 ;
+    public final void rule__WeightedTactic__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10216:1: ( rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10217:2: rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__1__Impl_in_rule__WeightedTactic__Group__120183);
+            rule__WeightedTactic__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__2_in_rule__WeightedTactic__Group__120186);
+            rule__WeightedTactic__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__1"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10224:1: rule__WeightedTactic__Group__1__Impl : ( ( rule__WeightedTactic__IdAssignment_1 ) ) ;
+    public final void rule__WeightedTactic__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10228:1: ( ( ( rule__WeightedTactic__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10229:1: ( ( rule__WeightedTactic__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10229:1: ( ( rule__WeightedTactic__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10230:1: ( rule__WeightedTactic__IdAssignment_1 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10231:1: ( rule__WeightedTactic__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10231:2: rule__WeightedTactic__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__IdAssignment_1_in_rule__WeightedTactic__Group__1__Impl20213);
+            rule__WeightedTactic__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__1__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10241:1: rule__WeightedTactic__Group__2 : rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3 ;
+    public final void rule__WeightedTactic__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10245:1: ( rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10246:2: rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__2__Impl_in_rule__WeightedTactic__Group__220243);
+            rule__WeightedTactic__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__3_in_rule__WeightedTactic__Group__220246);
+            rule__WeightedTactic__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__2"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10253:1: rule__WeightedTactic__Group__2__Impl : ( '{' ) ;
+    public final void rule__WeightedTactic__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10257:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10258:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10258:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10259:1: '{'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__WeightedTactic__Group__2__Impl20274); 
+             after(grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__2__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10272:1: rule__WeightedTactic__Group__3 : rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4 ;
+    public final void rule__WeightedTactic__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10276:1: ( rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10277:2: rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__3__Impl_in_rule__WeightedTactic__Group__320305);
+            rule__WeightedTactic__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__4_in_rule__WeightedTactic__Group__320308);
+            rule__WeightedTactic__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__3"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10284:1: rule__WeightedTactic__Group__3__Impl : ( 'name' ) ;
+    public final void rule__WeightedTactic__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10288:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10289:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10289:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10290:1: 'name'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__WeightedTactic__Group__3__Impl20336); 
+             after(grammarAccess.getWeightedTacticAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__3__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10303:1: rule__WeightedTactic__Group__4 : rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5 ;
+    public final void rule__WeightedTactic__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10307:1: ( rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10308:2: rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__4__Impl_in_rule__WeightedTactic__Group__420367);
+            rule__WeightedTactic__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__5_in_rule__WeightedTactic__Group__420370);
+            rule__WeightedTactic__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__4"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10315:1: rule__WeightedTactic__Group__4__Impl : ( ( rule__WeightedTactic__NameAssignment_4 ) ) ;
+    public final void rule__WeightedTactic__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10319:1: ( ( ( rule__WeightedTactic__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10320:1: ( ( rule__WeightedTactic__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10320:1: ( ( rule__WeightedTactic__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10321:1: ( rule__WeightedTactic__NameAssignment_4 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10322:1: ( rule__WeightedTactic__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10322:2: rule__WeightedTactic__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__NameAssignment_4_in_rule__WeightedTactic__Group__4__Impl20397);
+            rule__WeightedTactic__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__4__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10332:1: rule__WeightedTactic__Group__5 : rule__WeightedTactic__Group__5__Impl rule__WeightedTactic__Group__6 ;
+    public final void rule__WeightedTactic__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10336:1: ( rule__WeightedTactic__Group__5__Impl rule__WeightedTactic__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10337:2: rule__WeightedTactic__Group__5__Impl rule__WeightedTactic__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__5__Impl_in_rule__WeightedTactic__Group__520427);
+            rule__WeightedTactic__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__6_in_rule__WeightedTactic__Group__520430);
+            rule__WeightedTactic__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__5"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10344:1: rule__WeightedTactic__Group__5__Impl : ( 'currentWeight' ) ;
+    public final void rule__WeightedTactic__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10348:1: ( ( 'currentWeight' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10349:1: ( 'currentWeight' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10349:1: ( 'currentWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10350:1: 'currentWeight'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5()); 
+            match(input,86,FollowSets000.FOLLOW_86_in_rule__WeightedTactic__Group__5__Impl20458); 
+             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__5__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10363:1: rule__WeightedTactic__Group__6 : rule__WeightedTactic__Group__6__Impl rule__WeightedTactic__Group__7 ;
+    public final void rule__WeightedTactic__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10367:1: ( rule__WeightedTactic__Group__6__Impl rule__WeightedTactic__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10368:2: rule__WeightedTactic__Group__6__Impl rule__WeightedTactic__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__6__Impl_in_rule__WeightedTactic__Group__620489);
+            rule__WeightedTactic__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__7_in_rule__WeightedTactic__Group__620492);
+            rule__WeightedTactic__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__6"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10375:1: rule__WeightedTactic__Group__6__Impl : ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) ) ;
+    public final void rule__WeightedTactic__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10379:1: ( ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10380:1: ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10380:1: ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10381:1: ( rule__WeightedTactic__CurrentWeightAssignment_6 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10382:1: ( rule__WeightedTactic__CurrentWeightAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10382:2: rule__WeightedTactic__CurrentWeightAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__CurrentWeightAssignment_6_in_rule__WeightedTactic__Group__6__Impl20519);
+            rule__WeightedTactic__CurrentWeightAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__6__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10392:1: rule__WeightedTactic__Group__7 : rule__WeightedTactic__Group__7__Impl rule__WeightedTactic__Group__8 ;
+    public final void rule__WeightedTactic__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10396:1: ( rule__WeightedTactic__Group__7__Impl rule__WeightedTactic__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10397:2: rule__WeightedTactic__Group__7__Impl rule__WeightedTactic__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__7__Impl_in_rule__WeightedTactic__Group__720549);
+            rule__WeightedTactic__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__8_in_rule__WeightedTactic__Group__720552);
+            rule__WeightedTactic__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__7"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10404:1: rule__WeightedTactic__Group__7__Impl : ( 'defaultWeight' ) ;
+    public final void rule__WeightedTactic__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10408:1: ( ( 'defaultWeight' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10409:1: ( 'defaultWeight' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10409:1: ( 'defaultWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10410:1: 'defaultWeight'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7()); 
+            match(input,87,FollowSets000.FOLLOW_87_in_rule__WeightedTactic__Group__7__Impl20580); 
+             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__7__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10423:1: rule__WeightedTactic__Group__8 : rule__WeightedTactic__Group__8__Impl rule__WeightedTactic__Group__9 ;
+    public final void rule__WeightedTactic__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10427:1: ( rule__WeightedTactic__Group__8__Impl rule__WeightedTactic__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10428:2: rule__WeightedTactic__Group__8__Impl rule__WeightedTactic__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__8__Impl_in_rule__WeightedTactic__Group__820611);
+            rule__WeightedTactic__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__9_in_rule__WeightedTactic__Group__820614);
+            rule__WeightedTactic__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__8"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10435:1: rule__WeightedTactic__Group__8__Impl : ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) ) ;
+    public final void rule__WeightedTactic__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10439:1: ( ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10440:1: ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10440:1: ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10441:1: ( rule__WeightedTactic__DefaultWeightAssignment_8 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10442:1: ( rule__WeightedTactic__DefaultWeightAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10442:2: rule__WeightedTactic__DefaultWeightAssignment_8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__DefaultWeightAssignment_8_in_rule__WeightedTactic__Group__8__Impl20641);
+            rule__WeightedTactic__DefaultWeightAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__8__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10452:1: rule__WeightedTactic__Group__9 : rule__WeightedTactic__Group__9__Impl rule__WeightedTactic__Group__10 ;
+    public final void rule__WeightedTactic__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10456:1: ( rule__WeightedTactic__Group__9__Impl rule__WeightedTactic__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10457:2: rule__WeightedTactic__Group__9__Impl rule__WeightedTactic__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__9__Impl_in_rule__WeightedTactic__Group__920671);
+            rule__WeightedTactic__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__10_in_rule__WeightedTactic__Group__920674);
+            rule__WeightedTactic__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__9"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10464:1: rule__WeightedTactic__Group__9__Impl : ( 'usedTactic' ) ;
+    public final void rule__WeightedTactic__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10468:1: ( ( 'usedTactic' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10469:1: ( 'usedTactic' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10469:1: ( 'usedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10470:1: 'usedTactic'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9()); 
+            match(input,88,FollowSets000.FOLLOW_88_in_rule__WeightedTactic__Group__9__Impl20702); 
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__9__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10483:1: rule__WeightedTactic__Group__10 : rule__WeightedTactic__Group__10__Impl rule__WeightedTactic__Group__11 ;
+    public final void rule__WeightedTactic__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10487:1: ( rule__WeightedTactic__Group__10__Impl rule__WeightedTactic__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10488:2: rule__WeightedTactic__Group__10__Impl rule__WeightedTactic__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__10__Impl_in_rule__WeightedTactic__Group__1020733);
+            rule__WeightedTactic__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__11_in_rule__WeightedTactic__Group__1020736);
+            rule__WeightedTactic__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__10"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10495:1: rule__WeightedTactic__Group__10__Impl : ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) ) ;
+    public final void rule__WeightedTactic__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10499:1: ( ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10500:1: ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10500:1: ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10501:1: ( rule__WeightedTactic__UsedTacticAssignment_10 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10502:1: ( rule__WeightedTactic__UsedTacticAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10502:2: rule__WeightedTactic__UsedTacticAssignment_10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__UsedTacticAssignment_10_in_rule__WeightedTactic__Group__10__Impl20763);
+            rule__WeightedTactic__UsedTacticAssignment_10();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__10__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10512:1: rule__WeightedTactic__Group__11 : rule__WeightedTactic__Group__11__Impl rule__WeightedTactic__Group__12 ;
+    public final void rule__WeightedTactic__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10516:1: ( rule__WeightedTactic__Group__11__Impl rule__WeightedTactic__Group__12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10517:2: rule__WeightedTactic__Group__11__Impl rule__WeightedTactic__Group__12
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__11__Impl_in_rule__WeightedTactic__Group__1120793);
+            rule__WeightedTactic__Group__11__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__12_in_rule__WeightedTactic__Group__1120796);
+            rule__WeightedTactic__Group__12();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__11"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10524:1: rule__WeightedTactic__Group__11__Impl : ( ( rule__WeightedTactic__Group_11__0 )? ) ;
+    public final void rule__WeightedTactic__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10528:1: ( ( ( rule__WeightedTactic__Group_11__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10529:1: ( ( rule__WeightedTactic__Group_11__0 )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10529:1: ( ( rule__WeightedTactic__Group_11__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10530:1: ( rule__WeightedTactic__Group_11__0 )?
+            {
+             before(grammarAccess.getWeightedTacticAccess().getGroup_11()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10531:1: ( rule__WeightedTactic__Group_11__0 )?
+            int alt40=2;
+            int LA40_0 = input.LA(1);
+
+            if ( (LA40_0==89) ) {
+                alt40=1;
+            }
+            switch (alt40) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10531:2: rule__WeightedTactic__Group_11__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__0_in_rule__WeightedTactic__Group__11__Impl20823);
+                    rule__WeightedTactic__Group_11__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getGroup_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__11__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10541:1: rule__WeightedTactic__Group__12 : rule__WeightedTactic__Group__12__Impl ;
+    public final void rule__WeightedTactic__Group__12() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10545:1: ( rule__WeightedTactic__Group__12__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10546:2: rule__WeightedTactic__Group__12__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__12__Impl_in_rule__WeightedTactic__Group__1220854);
+            rule__WeightedTactic__Group__12__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__12"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group__12__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10552:1: rule__WeightedTactic__Group__12__Impl : ( '}' ) ;
+    public final void rule__WeightedTactic__Group__12__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10556:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10557:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10557:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10558:1: '}'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__WeightedTactic__Group__12__Impl20882); 
+             after(grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group__12__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group_11__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10597:1: rule__WeightedTactic__Group_11__0 : rule__WeightedTactic__Group_11__0__Impl rule__WeightedTactic__Group_11__1 ;
+    public final void rule__WeightedTactic__Group_11__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10601:1: ( rule__WeightedTactic__Group_11__0__Impl rule__WeightedTactic__Group_11__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10602:2: rule__WeightedTactic__Group_11__0__Impl rule__WeightedTactic__Group_11__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__0__Impl_in_rule__WeightedTactic__Group_11__020939);
+            rule__WeightedTactic__Group_11__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__1_in_rule__WeightedTactic__Group_11__020942);
+            rule__WeightedTactic__Group_11__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group_11__0"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group_11__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10609:1: rule__WeightedTactic__Group_11__0__Impl : ( 'lastImpact' ) ;
+    public final void rule__WeightedTactic__Group_11__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10613:1: ( ( 'lastImpact' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10614:1: ( 'lastImpact' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10614:1: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10615:1: 'lastImpact'
+            {
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0()); 
+            match(input,89,FollowSets000.FOLLOW_89_in_rule__WeightedTactic__Group_11__0__Impl20970); 
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group_11__0__Impl"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group_11__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10628:1: rule__WeightedTactic__Group_11__1 : rule__WeightedTactic__Group_11__1__Impl ;
+    public final void rule__WeightedTactic__Group_11__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10632:1: ( rule__WeightedTactic__Group_11__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10633:2: rule__WeightedTactic__Group_11__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__1__Impl_in_rule__WeightedTactic__Group_11__121001);
+            rule__WeightedTactic__Group_11__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group_11__1"
+
+
+    // $ANTLR start "rule__WeightedTactic__Group_11__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10639:1: rule__WeightedTactic__Group_11__1__Impl : ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) ) ;
+    public final void rule__WeightedTactic__Group_11__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10643:1: ( ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10644:1: ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10644:1: ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10645:1: ( rule__WeightedTactic__LastImpactAssignment_11_1 )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10646:1: ( rule__WeightedTactic__LastImpactAssignment_11_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10646:2: rule__WeightedTactic__LastImpactAssignment_11_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__LastImpactAssignment_11_1_in_rule__WeightedTactic__Group_11__1__Impl21028);
+            rule__WeightedTactic__LastImpactAssignment_11_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__Group_11__1__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10660:1: rule__WeightingFunction__Group__0 : rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1 ;
+    public final void rule__WeightingFunction__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10664:1: ( rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10665:2: rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__0__Impl_in_rule__WeightingFunction__Group__021062);
+            rule__WeightingFunction__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__1_in_rule__WeightingFunction__Group__021065);
+            rule__WeightingFunction__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__0"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10672:1: rule__WeightingFunction__Group__0__Impl : ( 'WeightingFunction' ) ;
+    public final void rule__WeightingFunction__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10676:1: ( ( 'WeightingFunction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10677:1: ( 'WeightingFunction' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10677:1: ( 'WeightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10678:1: 'WeightingFunction'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0()); 
+            match(input,90,FollowSets000.FOLLOW_90_in_rule__WeightingFunction__Group__0__Impl21093); 
+             after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__0__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10691:1: rule__WeightingFunction__Group__1 : rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2 ;
+    public final void rule__WeightingFunction__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10695:1: ( rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10696:2: rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__1__Impl_in_rule__WeightingFunction__Group__121124);
+            rule__WeightingFunction__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__2_in_rule__WeightingFunction__Group__121127);
+            rule__WeightingFunction__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__1"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10703:1: rule__WeightingFunction__Group__1__Impl : ( ( rule__WeightingFunction__IdAssignment_1 ) ) ;
+    public final void rule__WeightingFunction__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10707:1: ( ( ( rule__WeightingFunction__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10708:1: ( ( rule__WeightingFunction__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10708:1: ( ( rule__WeightingFunction__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10709:1: ( rule__WeightingFunction__IdAssignment_1 )
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10710:1: ( rule__WeightingFunction__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10710:2: rule__WeightingFunction__IdAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__IdAssignment_1_in_rule__WeightingFunction__Group__1__Impl21154);
+            rule__WeightingFunction__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__1__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10720:1: rule__WeightingFunction__Group__2 : rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3 ;
+    public final void rule__WeightingFunction__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10724:1: ( rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10725:2: rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__2__Impl_in_rule__WeightingFunction__Group__221184);
+            rule__WeightingFunction__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__3_in_rule__WeightingFunction__Group__221187);
+            rule__WeightingFunction__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__2"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10732:1: rule__WeightingFunction__Group__2__Impl : ( '{' ) ;
+    public final void rule__WeightingFunction__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10736:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10737:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10737:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10738:1: '{'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__WeightingFunction__Group__2__Impl21215); 
+             after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__2__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10751:1: rule__WeightingFunction__Group__3 : rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4 ;
+    public final void rule__WeightingFunction__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10755:1: ( rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10756:2: rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__3__Impl_in_rule__WeightingFunction__Group__321246);
+            rule__WeightingFunction__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__4_in_rule__WeightingFunction__Group__321249);
+            rule__WeightingFunction__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__3"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10763:1: rule__WeightingFunction__Group__3__Impl : ( 'name' ) ;
+    public final void rule__WeightingFunction__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10767:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10768:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10768:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10769:1: 'name'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__WeightingFunction__Group__3__Impl21277); 
+             after(grammarAccess.getWeightingFunctionAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__3__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10782:1: rule__WeightingFunction__Group__4 : rule__WeightingFunction__Group__4__Impl rule__WeightingFunction__Group__5 ;
+    public final void rule__WeightingFunction__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10786:1: ( rule__WeightingFunction__Group__4__Impl rule__WeightingFunction__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10787:2: rule__WeightingFunction__Group__4__Impl rule__WeightingFunction__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__4__Impl_in_rule__WeightingFunction__Group__421308);
+            rule__WeightingFunction__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__5_in_rule__WeightingFunction__Group__421311);
+            rule__WeightingFunction__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__4"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10794:1: rule__WeightingFunction__Group__4__Impl : ( ( rule__WeightingFunction__NameAssignment_4 ) ) ;
+    public final void rule__WeightingFunction__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10798:1: ( ( ( rule__WeightingFunction__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10799:1: ( ( rule__WeightingFunction__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10799:1: ( ( rule__WeightingFunction__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10800:1: ( rule__WeightingFunction__NameAssignment_4 )
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10801:1: ( rule__WeightingFunction__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10801:2: rule__WeightingFunction__NameAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__NameAssignment_4_in_rule__WeightingFunction__Group__4__Impl21338);
+            rule__WeightingFunction__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__4__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10811:1: rule__WeightingFunction__Group__5 : rule__WeightingFunction__Group__5__Impl rule__WeightingFunction__Group__6 ;
+    public final void rule__WeightingFunction__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10815:1: ( rule__WeightingFunction__Group__5__Impl rule__WeightingFunction__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10816:2: rule__WeightingFunction__Group__5__Impl rule__WeightingFunction__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__5__Impl_in_rule__WeightingFunction__Group__521368);
+            rule__WeightingFunction__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__6_in_rule__WeightingFunction__Group__521371);
+            rule__WeightingFunction__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__5"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10823:1: rule__WeightingFunction__Group__5__Impl : ( 'weightingFunctionImplementation' ) ;
+    public final void rule__WeightingFunction__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10827:1: ( ( 'weightingFunctionImplementation' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10828:1: ( 'weightingFunctionImplementation' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10828:1: ( 'weightingFunctionImplementation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10829:1: 'weightingFunctionImplementation'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationKeyword_5()); 
+            match(input,91,FollowSets000.FOLLOW_91_in_rule__WeightingFunction__Group__5__Impl21399); 
+             after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__5__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10842:1: rule__WeightingFunction__Group__6 : rule__WeightingFunction__Group__6__Impl rule__WeightingFunction__Group__7 ;
+    public final void rule__WeightingFunction__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10846:1: ( rule__WeightingFunction__Group__6__Impl rule__WeightingFunction__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10847:2: rule__WeightingFunction__Group__6__Impl rule__WeightingFunction__Group__7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__6__Impl_in_rule__WeightingFunction__Group__621430);
+            rule__WeightingFunction__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__7_in_rule__WeightingFunction__Group__621433);
+            rule__WeightingFunction__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__6"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10854:1: rule__WeightingFunction__Group__6__Impl : ( ( rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 ) ) ;
+    public final void rule__WeightingFunction__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10858:1: ( ( ( rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10859:1: ( ( rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10859:1: ( ( rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10860:1: ( rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 )
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10861:1: ( rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10861:2: rule__WeightingFunction__WeightingFunctionImplementationAssignment_6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightingFunctionImplementationAssignment_6_in_rule__WeightingFunction__Group__6__Impl21460);
+            rule__WeightingFunction__WeightingFunctionImplementationAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__6__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10871:1: rule__WeightingFunction__Group__7 : rule__WeightingFunction__Group__7__Impl rule__WeightingFunction__Group__8 ;
+    public final void rule__WeightingFunction__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10875:1: ( rule__WeightingFunction__Group__7__Impl rule__WeightingFunction__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10876:2: rule__WeightingFunction__Group__7__Impl rule__WeightingFunction__Group__8
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__7__Impl_in_rule__WeightingFunction__Group__721490);
+            rule__WeightingFunction__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__8_in_rule__WeightingFunction__Group__721493);
+            rule__WeightingFunction__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__7"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10883:1: rule__WeightingFunction__Group__7__Impl : ( 'weightedMetrics' ) ;
+    public final void rule__WeightingFunction__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10887:1: ( ( 'weightedMetrics' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10888:1: ( 'weightedMetrics' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10888:1: ( 'weightedMetrics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10889:1: 'weightedMetrics'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_7()); 
+            match(input,92,FollowSets000.FOLLOW_92_in_rule__WeightingFunction__Group__7__Impl21521); 
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__7__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10902:1: rule__WeightingFunction__Group__8 : rule__WeightingFunction__Group__8__Impl rule__WeightingFunction__Group__9 ;
+    public final void rule__WeightingFunction__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10906:1: ( rule__WeightingFunction__Group__8__Impl rule__WeightingFunction__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10907:2: rule__WeightingFunction__Group__8__Impl rule__WeightingFunction__Group__9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__8__Impl_in_rule__WeightingFunction__Group__821552);
+            rule__WeightingFunction__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__9_in_rule__WeightingFunction__Group__821555);
+            rule__WeightingFunction__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__8"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10914:1: rule__WeightingFunction__Group__8__Impl : ( '{' ) ;
+    public final void rule__WeightingFunction__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10918:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10919:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10919:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10920:1: '{'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_8()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__WeightingFunction__Group__8__Impl21583); 
+             after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__8__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10933:1: rule__WeightingFunction__Group__9 : rule__WeightingFunction__Group__9__Impl rule__WeightingFunction__Group__10 ;
+    public final void rule__WeightingFunction__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10937:1: ( rule__WeightingFunction__Group__9__Impl rule__WeightingFunction__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10938:2: rule__WeightingFunction__Group__9__Impl rule__WeightingFunction__Group__10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__9__Impl_in_rule__WeightingFunction__Group__921614);
+            rule__WeightingFunction__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__10_in_rule__WeightingFunction__Group__921617);
+            rule__WeightingFunction__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__9"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10945:1: rule__WeightingFunction__Group__9__Impl : ( ( rule__WeightingFunction__WeightedMetricsAssignment_9 ) ) ;
+    public final void rule__WeightingFunction__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10949:1: ( ( ( rule__WeightingFunction__WeightedMetricsAssignment_9 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10950:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_9 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10950:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_9 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10951:1: ( rule__WeightingFunction__WeightedMetricsAssignment_9 )
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_9()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10952:1: ( rule__WeightingFunction__WeightedMetricsAssignment_9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10952:2: rule__WeightingFunction__WeightedMetricsAssignment_9
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_9_in_rule__WeightingFunction__Group__9__Impl21644);
+            rule__WeightingFunction__WeightedMetricsAssignment_9();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__9__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10962:1: rule__WeightingFunction__Group__10 : rule__WeightingFunction__Group__10__Impl rule__WeightingFunction__Group__11 ;
+    public final void rule__WeightingFunction__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10966:1: ( rule__WeightingFunction__Group__10__Impl rule__WeightingFunction__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10967:2: rule__WeightingFunction__Group__10__Impl rule__WeightingFunction__Group__11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__10__Impl_in_rule__WeightingFunction__Group__1021674);
+            rule__WeightingFunction__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__11_in_rule__WeightingFunction__Group__1021677);
+            rule__WeightingFunction__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__10"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10974:1: rule__WeightingFunction__Group__10__Impl : ( ( rule__WeightingFunction__Group_10__0 )* ) ;
+    public final void rule__WeightingFunction__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10978:1: ( ( ( rule__WeightingFunction__Group_10__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10979:1: ( ( rule__WeightingFunction__Group_10__0 )* )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10979:1: ( ( rule__WeightingFunction__Group_10__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10980:1: ( rule__WeightingFunction__Group_10__0 )*
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getGroup_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10981:1: ( rule__WeightingFunction__Group_10__0 )*
+            loop41:
+            do {
+                int alt41=2;
+                int LA41_0 = input.LA(1);
+
+                if ( (LA41_0==25) ) {
+                    alt41=1;
+                }
+
+
+                switch (alt41) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10981:2: rule__WeightingFunction__Group_10__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_10__0_in_rule__WeightingFunction__Group__10__Impl21704);
+            	    rule__WeightingFunction__Group_10__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop41;
+                }
+            } while (true);
+
+             after(grammarAccess.getWeightingFunctionAccess().getGroup_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__10__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10991:1: rule__WeightingFunction__Group__11 : rule__WeightingFunction__Group__11__Impl rule__WeightingFunction__Group__12 ;
+    public final void rule__WeightingFunction__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10995:1: ( rule__WeightingFunction__Group__11__Impl rule__WeightingFunction__Group__12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:10996:2: rule__WeightingFunction__Group__11__Impl rule__WeightingFunction__Group__12
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__11__Impl_in_rule__WeightingFunction__Group__1121735);
+            rule__WeightingFunction__Group__11__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__12_in_rule__WeightingFunction__Group__1121738);
+            rule__WeightingFunction__Group__12();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__11"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11003:1: rule__WeightingFunction__Group__11__Impl : ( '}' ) ;
+    public final void rule__WeightingFunction__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11007:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11008:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11008:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11009:1: '}'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_11()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__WeightingFunction__Group__11__Impl21766); 
+             after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__11__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11022:1: rule__WeightingFunction__Group__12 : rule__WeightingFunction__Group__12__Impl ;
+    public final void rule__WeightingFunction__Group__12() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11026:1: ( rule__WeightingFunction__Group__12__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11027:2: rule__WeightingFunction__Group__12__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__12__Impl_in_rule__WeightingFunction__Group__1221797);
+            rule__WeightingFunction__Group__12__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__12"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group__12__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11033:1: rule__WeightingFunction__Group__12__Impl : ( '}' ) ;
+    public final void rule__WeightingFunction__Group__12__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11037:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11038:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11038:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11039:1: '}'
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_12()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__WeightingFunction__Group__12__Impl21825); 
+             after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_12()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group__12__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group_10__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11078:1: rule__WeightingFunction__Group_10__0 : rule__WeightingFunction__Group_10__0__Impl rule__WeightingFunction__Group_10__1 ;
+    public final void rule__WeightingFunction__Group_10__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11082:1: ( rule__WeightingFunction__Group_10__0__Impl rule__WeightingFunction__Group_10__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11083:2: rule__WeightingFunction__Group_10__0__Impl rule__WeightingFunction__Group_10__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_10__0__Impl_in_rule__WeightingFunction__Group_10__021882);
+            rule__WeightingFunction__Group_10__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_10__1_in_rule__WeightingFunction__Group_10__021885);
+            rule__WeightingFunction__Group_10__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group_10__0"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group_10__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11090:1: rule__WeightingFunction__Group_10__0__Impl : ( ',' ) ;
+    public final void rule__WeightingFunction__Group_10__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11094:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11095:1: ( ',' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11095:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11096:1: ','
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_10_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__WeightingFunction__Group_10__0__Impl21913); 
+             after(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_10_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group_10__0__Impl"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group_10__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11109:1: rule__WeightingFunction__Group_10__1 : rule__WeightingFunction__Group_10__1__Impl ;
+    public final void rule__WeightingFunction__Group_10__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11113:1: ( rule__WeightingFunction__Group_10__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11114:2: rule__WeightingFunction__Group_10__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_10__1__Impl_in_rule__WeightingFunction__Group_10__121944);
+            rule__WeightingFunction__Group_10__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group_10__1"
+
+
+    // $ANTLR start "rule__WeightingFunction__Group_10__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11120:1: rule__WeightingFunction__Group_10__1__Impl : ( ( rule__WeightingFunction__WeightedMetricsAssignment_10_1 ) ) ;
+    public final void rule__WeightingFunction__Group_10__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11124:1: ( ( ( rule__WeightingFunction__WeightedMetricsAssignment_10_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11125:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_10_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11125:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_10_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11126:1: ( rule__WeightingFunction__WeightedMetricsAssignment_10_1 )
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_10_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11127:1: ( rule__WeightingFunction__WeightedMetricsAssignment_10_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11127:2: rule__WeightingFunction__WeightedMetricsAssignment_10_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_10_1_in_rule__WeightingFunction__Group_10__1__Impl21971);
+            rule__WeightingFunction__WeightedMetricsAssignment_10_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_10_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__Group_10__1__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11141:1: rule__Specification__Group__0 : rule__Specification__Group__0__Impl rule__Specification__Group__1 ;
+    public final void rule__Specification__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11145:1: ( rule__Specification__Group__0__Impl rule__Specification__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11146:2: rule__Specification__Group__0__Impl rule__Specification__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Specification__Group__0__Impl_in_rule__Specification__Group__022005);
+            rule__Specification__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Specification__Group__1_in_rule__Specification__Group__022008);
+            rule__Specification__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__0"
+
+
+    // $ANTLR start "rule__Specification__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11153:1: rule__Specification__Group__0__Impl : ( 'Specification' ) ;
+    public final void rule__Specification__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11157:1: ( ( 'Specification' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11158:1: ( 'Specification' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11158:1: ( 'Specification' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11159:1: 'Specification'
+            {
+             before(grammarAccess.getSpecificationAccess().getSpecificationKeyword_0()); 
+            match(input,93,FollowSets000.FOLLOW_93_in_rule__Specification__Group__0__Impl22036); 
+             after(grammarAccess.getSpecificationAccess().getSpecificationKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11172:1: rule__Specification__Group__1 : rule__Specification__Group__1__Impl rule__Specification__Group__2 ;
+    public final void rule__Specification__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11176:1: ( rule__Specification__Group__1__Impl rule__Specification__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11177:2: rule__Specification__Group__1__Impl rule__Specification__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Specification__Group__1__Impl_in_rule__Specification__Group__122067);
+            rule__Specification__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Specification__Group__2_in_rule__Specification__Group__122070);
+            rule__Specification__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__1"
+
+
+    // $ANTLR start "rule__Specification__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11184:1: rule__Specification__Group__1__Impl : ( '{' ) ;
+    public final void rule__Specification__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11188:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11189:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11189:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11190:1: '{'
+            {
+             before(grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__Specification__Group__1__Impl22098); 
+             after(grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11203:1: rule__Specification__Group__2 : rule__Specification__Group__2__Impl rule__Specification__Group__3 ;
+    public final void rule__Specification__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11207:1: ( rule__Specification__Group__2__Impl rule__Specification__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11208:2: rule__Specification__Group__2__Impl rule__Specification__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Specification__Group__2__Impl_in_rule__Specification__Group__222129);
+            rule__Specification__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__3_in_rule__Specification__Group__222132);
+            rule__Specification__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__2"
+
+
+    // $ANTLR start "rule__Specification__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11215:1: rule__Specification__Group__2__Impl : ( 'value' ) ;
+    public final void rule__Specification__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11219:1: ( ( 'value' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11220:1: ( 'value' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11220:1: ( 'value' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11221:1: 'value'
+            {
+             before(grammarAccess.getSpecificationAccess().getValueKeyword_2()); 
+            match(input,42,FollowSets001.FOLLOW_42_in_rule__Specification__Group__2__Impl22160); 
+             after(grammarAccess.getSpecificationAccess().getValueKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11234:1: rule__Specification__Group__3 : rule__Specification__Group__3__Impl rule__Specification__Group__4 ;
+    public final void rule__Specification__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11238:1: ( rule__Specification__Group__3__Impl rule__Specification__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11239:2: rule__Specification__Group__3__Impl rule__Specification__Group__4
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__3__Impl_in_rule__Specification__Group__322191);
+            rule__Specification__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__4_in_rule__Specification__Group__322194);
+            rule__Specification__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__3"
+
+
+    // $ANTLR start "rule__Specification__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11246:1: rule__Specification__Group__3__Impl : ( ( rule__Specification__ValueAssignment_3 ) ) ;
+    public final void rule__Specification__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11250:1: ( ( ( rule__Specification__ValueAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11251:1: ( ( rule__Specification__ValueAssignment_3 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11251:1: ( ( rule__Specification__ValueAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11252:1: ( rule__Specification__ValueAssignment_3 )
+            {
+             before(grammarAccess.getSpecificationAccess().getValueAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11253:1: ( rule__Specification__ValueAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11253:2: rule__Specification__ValueAssignment_3
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__ValueAssignment_3_in_rule__Specification__Group__3__Impl22221);
+            rule__Specification__ValueAssignment_3();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSpecificationAccess().getValueAssignment_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11263:1: rule__Specification__Group__4 : rule__Specification__Group__4__Impl rule__Specification__Group__5 ;
+    public final void rule__Specification__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11267:1: ( rule__Specification__Group__4__Impl rule__Specification__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11268:2: rule__Specification__Group__4__Impl rule__Specification__Group__5
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__4__Impl_in_rule__Specification__Group__422251);
+            rule__Specification__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__5_in_rule__Specification__Group__422254);
+            rule__Specification__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__4"
+
+
+    // $ANTLR start "rule__Specification__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11275:1: rule__Specification__Group__4__Impl : ( 'relationalOperator' ) ;
+    public final void rule__Specification__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11279:1: ( ( 'relationalOperator' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11280:1: ( 'relationalOperator' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11280:1: ( 'relationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11281:1: 'relationalOperator'
+            {
+             before(grammarAccess.getSpecificationAccess().getRelationalOperatorKeyword_4()); 
+            match(input,94,FollowSets001.FOLLOW_94_in_rule__Specification__Group__4__Impl22282); 
+             after(grammarAccess.getSpecificationAccess().getRelationalOperatorKeyword_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11294:1: rule__Specification__Group__5 : rule__Specification__Group__5__Impl rule__Specification__Group__6 ;
+    public final void rule__Specification__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11298:1: ( rule__Specification__Group__5__Impl rule__Specification__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11299:2: rule__Specification__Group__5__Impl rule__Specification__Group__6
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__5__Impl_in_rule__Specification__Group__522313);
+            rule__Specification__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__6_in_rule__Specification__Group__522316);
+            rule__Specification__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__5"
+
+
+    // $ANTLR start "rule__Specification__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11306:1: rule__Specification__Group__5__Impl : ( ( rule__Specification__RelationalOperatorAssignment_5 ) ) ;
+    public final void rule__Specification__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11310:1: ( ( ( rule__Specification__RelationalOperatorAssignment_5 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11311:1: ( ( rule__Specification__RelationalOperatorAssignment_5 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11311:1: ( ( rule__Specification__RelationalOperatorAssignment_5 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11312:1: ( rule__Specification__RelationalOperatorAssignment_5 )
+            {
+             before(grammarAccess.getSpecificationAccess().getRelationalOperatorAssignment_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11313:1: ( rule__Specification__RelationalOperatorAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11313:2: rule__Specification__RelationalOperatorAssignment_5
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__RelationalOperatorAssignment_5_in_rule__Specification__Group__5__Impl22343);
+            rule__Specification__RelationalOperatorAssignment_5();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSpecificationAccess().getRelationalOperatorAssignment_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11323:1: rule__Specification__Group__6 : rule__Specification__Group__6__Impl rule__Specification__Group__7 ;
+    public final void rule__Specification__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11327:1: ( rule__Specification__Group__6__Impl rule__Specification__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11328:2: rule__Specification__Group__6__Impl rule__Specification__Group__7
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__6__Impl_in_rule__Specification__Group__622373);
+            rule__Specification__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__7_in_rule__Specification__Group__622376);
+            rule__Specification__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__6"
+
+
+    // $ANTLR start "rule__Specification__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11335:1: rule__Specification__Group__6__Impl : ( 'metricType' ) ;
+    public final void rule__Specification__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11339:1: ( ( 'metricType' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11340:1: ( 'metricType' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11340:1: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11341:1: 'metricType'
+            {
+             before(grammarAccess.getSpecificationAccess().getMetricTypeKeyword_6()); 
+            match(input,95,FollowSets001.FOLLOW_95_in_rule__Specification__Group__6__Impl22404); 
+             after(grammarAccess.getSpecificationAccess().getMetricTypeKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__6__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11354:1: rule__Specification__Group__7 : rule__Specification__Group__7__Impl rule__Specification__Group__8 ;
+    public final void rule__Specification__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11358:1: ( rule__Specification__Group__7__Impl rule__Specification__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11359:2: rule__Specification__Group__7__Impl rule__Specification__Group__8
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__7__Impl_in_rule__Specification__Group__722435);
+            rule__Specification__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__8_in_rule__Specification__Group__722438);
+            rule__Specification__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__7"
+
+
+    // $ANTLR start "rule__Specification__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11366:1: rule__Specification__Group__7__Impl : ( ( rule__Specification__MetricTypeAssignment_7 ) ) ;
+    public final void rule__Specification__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11370:1: ( ( ( rule__Specification__MetricTypeAssignment_7 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11371:1: ( ( rule__Specification__MetricTypeAssignment_7 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11371:1: ( ( rule__Specification__MetricTypeAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11372:1: ( rule__Specification__MetricTypeAssignment_7 )
+            {
+             before(grammarAccess.getSpecificationAccess().getMetricTypeAssignment_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11373:1: ( rule__Specification__MetricTypeAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11373:2: rule__Specification__MetricTypeAssignment_7
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__MetricTypeAssignment_7_in_rule__Specification__Group__7__Impl22465);
+            rule__Specification__MetricTypeAssignment_7();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSpecificationAccess().getMetricTypeAssignment_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__7__Impl"
+
+
+    // $ANTLR start "rule__Specification__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11383:1: rule__Specification__Group__8 : rule__Specification__Group__8__Impl ;
+    public final void rule__Specification__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11387:1: ( rule__Specification__Group__8__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11388:2: rule__Specification__Group__8__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__Specification__Group__8__Impl_in_rule__Specification__Group__822495);
+            rule__Specification__Group__8__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__8"
+
+
+    // $ANTLR start "rule__Specification__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11394:1: rule__Specification__Group__8__Impl : ( '}' ) ;
+    public final void rule__Specification__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11398:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11399:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11399:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11400:1: '}'
+            {
+             before(grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_8()); 
+            match(input,21,FollowSets001.FOLLOW_21_in_rule__Specification__Group__8__Impl22523); 
+             after(grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__Group__8__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11435:1: rule__MetricValue__Group__0 : rule__MetricValue__Group__0__Impl rule__MetricValue__Group__1 ;
+    public final void rule__MetricValue__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11439:1: ( rule__MetricValue__Group__0__Impl rule__MetricValue__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11440:2: rule__MetricValue__Group__0__Impl rule__MetricValue__Group__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__0__Impl_in_rule__MetricValue__Group__022576);
+            rule__MetricValue__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__1_in_rule__MetricValue__Group__022579);
+            rule__MetricValue__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__0"
+
+
+    // $ANTLR start "rule__MetricValue__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11447:1: rule__MetricValue__Group__0__Impl : ( 'MetricValue' ) ;
+    public final void rule__MetricValue__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11451:1: ( ( 'MetricValue' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11452:1: ( 'MetricValue' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11452:1: ( 'MetricValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11453:1: 'MetricValue'
+            {
+             before(grammarAccess.getMetricValueAccess().getMetricValueKeyword_0()); 
+            match(input,96,FollowSets001.FOLLOW_96_in_rule__MetricValue__Group__0__Impl22607); 
+             after(grammarAccess.getMetricValueAccess().getMetricValueKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__0__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11466:1: rule__MetricValue__Group__1 : rule__MetricValue__Group__1__Impl rule__MetricValue__Group__2 ;
+    public final void rule__MetricValue__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11470:1: ( rule__MetricValue__Group__1__Impl rule__MetricValue__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11471:2: rule__MetricValue__Group__1__Impl rule__MetricValue__Group__2
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__1__Impl_in_rule__MetricValue__Group__122638);
+            rule__MetricValue__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__2_in_rule__MetricValue__Group__122641);
+            rule__MetricValue__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__1"
+
+
+    // $ANTLR start "rule__MetricValue__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11478:1: rule__MetricValue__Group__1__Impl : ( ( rule__MetricValue__IdAssignment_1 ) ) ;
+    public final void rule__MetricValue__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11482:1: ( ( ( rule__MetricValue__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11483:1: ( ( rule__MetricValue__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11483:1: ( ( rule__MetricValue__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11484:1: ( rule__MetricValue__IdAssignment_1 )
+            {
+             before(grammarAccess.getMetricValueAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11485:1: ( rule__MetricValue__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11485:2: rule__MetricValue__IdAssignment_1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__IdAssignment_1_in_rule__MetricValue__Group__1__Impl22668);
+            rule__MetricValue__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__1__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11495:1: rule__MetricValue__Group__2 : rule__MetricValue__Group__2__Impl rule__MetricValue__Group__3 ;
+    public final void rule__MetricValue__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11499:1: ( rule__MetricValue__Group__2__Impl rule__MetricValue__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11500:2: rule__MetricValue__Group__2__Impl rule__MetricValue__Group__3
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__2__Impl_in_rule__MetricValue__Group__222698);
+            rule__MetricValue__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__3_in_rule__MetricValue__Group__222701);
+            rule__MetricValue__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__2"
+
+
+    // $ANTLR start "rule__MetricValue__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11507:1: rule__MetricValue__Group__2__Impl : ( '{' ) ;
+    public final void rule__MetricValue__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11511:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11512:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11512:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11513:1: '{'
+            {
+             before(grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets001.FOLLOW_18_in_rule__MetricValue__Group__2__Impl22729); 
+             after(grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__2__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11526:1: rule__MetricValue__Group__3 : rule__MetricValue__Group__3__Impl rule__MetricValue__Group__4 ;
+    public final void rule__MetricValue__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11530:1: ( rule__MetricValue__Group__3__Impl rule__MetricValue__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11531:2: rule__MetricValue__Group__3__Impl rule__MetricValue__Group__4
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__3__Impl_in_rule__MetricValue__Group__322760);
+            rule__MetricValue__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__4_in_rule__MetricValue__Group__322763);
+            rule__MetricValue__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__3"
+
+
+    // $ANTLR start "rule__MetricValue__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11538:1: rule__MetricValue__Group__3__Impl : ( 'name' ) ;
+    public final void rule__MetricValue__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11542:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11543:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11543:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11544:1: 'name'
+            {
+             before(grammarAccess.getMetricValueAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets001.FOLLOW_19_in_rule__MetricValue__Group__3__Impl22791); 
+             after(grammarAccess.getMetricValueAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__3__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11557:1: rule__MetricValue__Group__4 : rule__MetricValue__Group__4__Impl rule__MetricValue__Group__5 ;
+    public final void rule__MetricValue__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11561:1: ( rule__MetricValue__Group__4__Impl rule__MetricValue__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11562:2: rule__MetricValue__Group__4__Impl rule__MetricValue__Group__5
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__4__Impl_in_rule__MetricValue__Group__422822);
+            rule__MetricValue__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__5_in_rule__MetricValue__Group__422825);
+            rule__MetricValue__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__4"
+
+
+    // $ANTLR start "rule__MetricValue__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11569:1: rule__MetricValue__Group__4__Impl : ( ( rule__MetricValue__NameAssignment_4 ) ) ;
+    public final void rule__MetricValue__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11573:1: ( ( ( rule__MetricValue__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11574:1: ( ( rule__MetricValue__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11574:1: ( ( rule__MetricValue__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11575:1: ( rule__MetricValue__NameAssignment_4 )
+            {
+             before(grammarAccess.getMetricValueAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11576:1: ( rule__MetricValue__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11576:2: rule__MetricValue__NameAssignment_4
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__NameAssignment_4_in_rule__MetricValue__Group__4__Impl22852);
+            rule__MetricValue__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__4__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11586:1: rule__MetricValue__Group__5 : rule__MetricValue__Group__5__Impl rule__MetricValue__Group__6 ;
+    public final void rule__MetricValue__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11590:1: ( rule__MetricValue__Group__5__Impl rule__MetricValue__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11591:2: rule__MetricValue__Group__5__Impl rule__MetricValue__Group__6
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__5__Impl_in_rule__MetricValue__Group__522882);
+            rule__MetricValue__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__6_in_rule__MetricValue__Group__522885);
+            rule__MetricValue__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__5"
+
+
+    // $ANTLR start "rule__MetricValue__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11598:1: rule__MetricValue__Group__5__Impl : ( 'value' ) ;
+    public final void rule__MetricValue__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11602:1: ( ( 'value' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11603:1: ( 'value' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11603:1: ( 'value' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11604:1: 'value'
+            {
+             before(grammarAccess.getMetricValueAccess().getValueKeyword_5()); 
+            match(input,42,FollowSets001.FOLLOW_42_in_rule__MetricValue__Group__5__Impl22913); 
+             after(grammarAccess.getMetricValueAccess().getValueKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__5__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11617:1: rule__MetricValue__Group__6 : rule__MetricValue__Group__6__Impl rule__MetricValue__Group__7 ;
+    public final void rule__MetricValue__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11621:1: ( rule__MetricValue__Group__6__Impl rule__MetricValue__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11622:2: rule__MetricValue__Group__6__Impl rule__MetricValue__Group__7
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__6__Impl_in_rule__MetricValue__Group__622944);
+            rule__MetricValue__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__7_in_rule__MetricValue__Group__622947);
+            rule__MetricValue__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__6"
+
+
+    // $ANTLR start "rule__MetricValue__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11629:1: rule__MetricValue__Group__6__Impl : ( ( rule__MetricValue__ValueAssignment_6 ) ) ;
+    public final void rule__MetricValue__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11633:1: ( ( ( rule__MetricValue__ValueAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11634:1: ( ( rule__MetricValue__ValueAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11634:1: ( ( rule__MetricValue__ValueAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11635:1: ( rule__MetricValue__ValueAssignment_6 )
+            {
+             before(grammarAccess.getMetricValueAccess().getValueAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11636:1: ( rule__MetricValue__ValueAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11636:2: rule__MetricValue__ValueAssignment_6
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__ValueAssignment_6_in_rule__MetricValue__Group__6__Impl22974);
+            rule__MetricValue__ValueAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getValueAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__6__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11646:1: rule__MetricValue__Group__7 : rule__MetricValue__Group__7__Impl rule__MetricValue__Group__8 ;
+    public final void rule__MetricValue__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11650:1: ( rule__MetricValue__Group__7__Impl rule__MetricValue__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11651:2: rule__MetricValue__Group__7__Impl rule__MetricValue__Group__8
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__7__Impl_in_rule__MetricValue__Group__723004);
+            rule__MetricValue__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__8_in_rule__MetricValue__Group__723007);
+            rule__MetricValue__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__7"
+
+
+    // $ANTLR start "rule__MetricValue__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11658:1: rule__MetricValue__Group__7__Impl : ( 'measuredEntity' ) ;
+    public final void rule__MetricValue__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11662:1: ( ( 'measuredEntity' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11663:1: ( 'measuredEntity' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11663:1: ( 'measuredEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11664:1: 'measuredEntity'
+            {
+             before(grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7()); 
+            match(input,97,FollowSets001.FOLLOW_97_in_rule__MetricValue__Group__7__Impl23035); 
+             after(grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__7__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11677:1: rule__MetricValue__Group__8 : rule__MetricValue__Group__8__Impl rule__MetricValue__Group__9 ;
+    public final void rule__MetricValue__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11681:1: ( rule__MetricValue__Group__8__Impl rule__MetricValue__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11682:2: rule__MetricValue__Group__8__Impl rule__MetricValue__Group__9
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__8__Impl_in_rule__MetricValue__Group__823066);
+            rule__MetricValue__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__9_in_rule__MetricValue__Group__823069);
+            rule__MetricValue__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__8"
+
+
+    // $ANTLR start "rule__MetricValue__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11689:1: rule__MetricValue__Group__8__Impl : ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) ) ;
+    public final void rule__MetricValue__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11693:1: ( ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11694:1: ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11694:1: ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11695:1: ( rule__MetricValue__MeasuredEntityAssignment_8 )
+            {
+             before(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11696:1: ( rule__MetricValue__MeasuredEntityAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11696:2: rule__MetricValue__MeasuredEntityAssignment_8
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__MeasuredEntityAssignment_8_in_rule__MetricValue__Group__8__Impl23096);
+            rule__MetricValue__MeasuredEntityAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__8__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11706:1: rule__MetricValue__Group__9 : rule__MetricValue__Group__9__Impl rule__MetricValue__Group__10 ;
+    public final void rule__MetricValue__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11710:1: ( rule__MetricValue__Group__9__Impl rule__MetricValue__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11711:2: rule__MetricValue__Group__9__Impl rule__MetricValue__Group__10
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__9__Impl_in_rule__MetricValue__Group__923126);
+            rule__MetricValue__Group__9__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__10_in_rule__MetricValue__Group__923129);
+            rule__MetricValue__Group__10();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__9"
+
+
+    // $ANTLR start "rule__MetricValue__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11718:1: rule__MetricValue__Group__9__Impl : ( 'metricType' ) ;
+    public final void rule__MetricValue__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11722:1: ( ( 'metricType' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11723:1: ( 'metricType' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11723:1: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11724:1: 'metricType'
+            {
+             before(grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9()); 
+            match(input,95,FollowSets001.FOLLOW_95_in_rule__MetricValue__Group__9__Impl23157); 
+             after(grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__9__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11737:1: rule__MetricValue__Group__10 : rule__MetricValue__Group__10__Impl rule__MetricValue__Group__11 ;
+    public final void rule__MetricValue__Group__10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11741:1: ( rule__MetricValue__Group__10__Impl rule__MetricValue__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11742:2: rule__MetricValue__Group__10__Impl rule__MetricValue__Group__11
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__10__Impl_in_rule__MetricValue__Group__1023188);
+            rule__MetricValue__Group__10__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__11_in_rule__MetricValue__Group__1023191);
+            rule__MetricValue__Group__11();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__10"
+
+
+    // $ANTLR start "rule__MetricValue__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11749:1: rule__MetricValue__Group__10__Impl : ( ( rule__MetricValue__MetricTypeAssignment_10 ) ) ;
+    public final void rule__MetricValue__Group__10__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11753:1: ( ( ( rule__MetricValue__MetricTypeAssignment_10 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11754:1: ( ( rule__MetricValue__MetricTypeAssignment_10 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11754:1: ( ( rule__MetricValue__MetricTypeAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11755:1: ( rule__MetricValue__MetricTypeAssignment_10 )
+            {
+             before(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11756:1: ( rule__MetricValue__MetricTypeAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11756:2: rule__MetricValue__MetricTypeAssignment_10
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__MetricTypeAssignment_10_in_rule__MetricValue__Group__10__Impl23218);
+            rule__MetricValue__MetricTypeAssignment_10();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__10__Impl"
+
+
+    // $ANTLR start "rule__MetricValue__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11766:1: rule__MetricValue__Group__11 : rule__MetricValue__Group__11__Impl ;
+    public final void rule__MetricValue__Group__11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11770:1: ( rule__MetricValue__Group__11__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11771:2: rule__MetricValue__Group__11__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__MetricValue__Group__11__Impl_in_rule__MetricValue__Group__1123248);
+            rule__MetricValue__Group__11__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__11"
+
+
+    // $ANTLR start "rule__MetricValue__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11777:1: rule__MetricValue__Group__11__Impl : ( '}' ) ;
+    public final void rule__MetricValue__Group__11__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11781:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11782:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11782:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11783:1: '}'
+            {
+             before(grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11()); 
+            match(input,21,FollowSets001.FOLLOW_21_in_rule__MetricValue__Group__11__Impl23276); 
+             after(grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__Group__11__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11822:1: rule__WeightedMetric__Group__0 : rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1 ;
+    public final void rule__WeightedMetric__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11826:1: ( rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11827:2: rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__0__Impl_in_rule__WeightedMetric__Group__023333);
+            rule__WeightedMetric__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__1_in_rule__WeightedMetric__Group__023336);
+            rule__WeightedMetric__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__0"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11834:1: rule__WeightedMetric__Group__0__Impl : ( 'WeightedMetric' ) ;
+    public final void rule__WeightedMetric__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11838:1: ( ( 'WeightedMetric' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11839:1: ( 'WeightedMetric' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11839:1: ( 'WeightedMetric' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11840:1: 'WeightedMetric'
+            {
+             before(grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0()); 
+            match(input,98,FollowSets001.FOLLOW_98_in_rule__WeightedMetric__Group__0__Impl23364); 
+             after(grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__0__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11853:1: rule__WeightedMetric__Group__1 : rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2 ;
+    public final void rule__WeightedMetric__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11857:1: ( rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11858:2: rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__1__Impl_in_rule__WeightedMetric__Group__123395);
+            rule__WeightedMetric__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__2_in_rule__WeightedMetric__Group__123398);
+            rule__WeightedMetric__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__1"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11865:1: rule__WeightedMetric__Group__1__Impl : ( ( rule__WeightedMetric__IdAssignment_1 ) ) ;
+    public final void rule__WeightedMetric__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11869:1: ( ( ( rule__WeightedMetric__IdAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11870:1: ( ( rule__WeightedMetric__IdAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11870:1: ( ( rule__WeightedMetric__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11871:1: ( rule__WeightedMetric__IdAssignment_1 )
+            {
+             before(grammarAccess.getWeightedMetricAccess().getIdAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11872:1: ( rule__WeightedMetric__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11872:2: rule__WeightedMetric__IdAssignment_1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__IdAssignment_1_in_rule__WeightedMetric__Group__1__Impl23425);
+            rule__WeightedMetric__IdAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getIdAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__1__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11882:1: rule__WeightedMetric__Group__2 : rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3 ;
+    public final void rule__WeightedMetric__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11886:1: ( rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11887:2: rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__2__Impl_in_rule__WeightedMetric__Group__223455);
+            rule__WeightedMetric__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__3_in_rule__WeightedMetric__Group__223458);
+            rule__WeightedMetric__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__2"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11894:1: rule__WeightedMetric__Group__2__Impl : ( '{' ) ;
+    public final void rule__WeightedMetric__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11898:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11899:1: ( '{' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11899:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11900:1: '{'
+            {
+             before(grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,18,FollowSets001.FOLLOW_18_in_rule__WeightedMetric__Group__2__Impl23486); 
+             after(grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__2__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11913:1: rule__WeightedMetric__Group__3 : rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4 ;
+    public final void rule__WeightedMetric__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11917:1: ( rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11918:2: rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__3__Impl_in_rule__WeightedMetric__Group__323517);
+            rule__WeightedMetric__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__4_in_rule__WeightedMetric__Group__323520);
+            rule__WeightedMetric__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__3"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11925:1: rule__WeightedMetric__Group__3__Impl : ( 'name' ) ;
+    public final void rule__WeightedMetric__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11929:1: ( ( 'name' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11930:1: ( 'name' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11930:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11931:1: 'name'
+            {
+             before(grammarAccess.getWeightedMetricAccess().getNameKeyword_3()); 
+            match(input,19,FollowSets001.FOLLOW_19_in_rule__WeightedMetric__Group__3__Impl23548); 
+             after(grammarAccess.getWeightedMetricAccess().getNameKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__3__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11944:1: rule__WeightedMetric__Group__4 : rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5 ;
+    public final void rule__WeightedMetric__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11948:1: ( rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11949:2: rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__4__Impl_in_rule__WeightedMetric__Group__423579);
+            rule__WeightedMetric__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__5_in_rule__WeightedMetric__Group__423582);
+            rule__WeightedMetric__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__4"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11956:1: rule__WeightedMetric__Group__4__Impl : ( ( rule__WeightedMetric__NameAssignment_4 ) ) ;
+    public final void rule__WeightedMetric__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11960:1: ( ( ( rule__WeightedMetric__NameAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11961:1: ( ( rule__WeightedMetric__NameAssignment_4 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11961:1: ( ( rule__WeightedMetric__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11962:1: ( rule__WeightedMetric__NameAssignment_4 )
+            {
+             before(grammarAccess.getWeightedMetricAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11963:1: ( rule__WeightedMetric__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11963:2: rule__WeightedMetric__NameAssignment_4
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__NameAssignment_4_in_rule__WeightedMetric__Group__4__Impl23609);
+            rule__WeightedMetric__NameAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getNameAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__4__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11973:1: rule__WeightedMetric__Group__5 : rule__WeightedMetric__Group__5__Impl rule__WeightedMetric__Group__6 ;
+    public final void rule__WeightedMetric__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11977:1: ( rule__WeightedMetric__Group__5__Impl rule__WeightedMetric__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11978:2: rule__WeightedMetric__Group__5__Impl rule__WeightedMetric__Group__6
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__5__Impl_in_rule__WeightedMetric__Group__523639);
+            rule__WeightedMetric__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__6_in_rule__WeightedMetric__Group__523642);
+            rule__WeightedMetric__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__5"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11985:1: rule__WeightedMetric__Group__5__Impl : ( 'weight' ) ;
+    public final void rule__WeightedMetric__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11989:1: ( ( 'weight' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11990:1: ( 'weight' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11990:1: ( 'weight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:11991:1: 'weight'
+            {
+             before(grammarAccess.getWeightedMetricAccess().getWeightKeyword_5()); 
+            match(input,99,FollowSets001.FOLLOW_99_in_rule__WeightedMetric__Group__5__Impl23670); 
+             after(grammarAccess.getWeightedMetricAccess().getWeightKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__5__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12004:1: rule__WeightedMetric__Group__6 : rule__WeightedMetric__Group__6__Impl rule__WeightedMetric__Group__7 ;
+    public final void rule__WeightedMetric__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12008:1: ( rule__WeightedMetric__Group__6__Impl rule__WeightedMetric__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12009:2: rule__WeightedMetric__Group__6__Impl rule__WeightedMetric__Group__7
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__6__Impl_in_rule__WeightedMetric__Group__623701);
+            rule__WeightedMetric__Group__6__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__7_in_rule__WeightedMetric__Group__623704);
+            rule__WeightedMetric__Group__7();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__6"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12016:1: rule__WeightedMetric__Group__6__Impl : ( ( rule__WeightedMetric__WeightAssignment_6 ) ) ;
+    public final void rule__WeightedMetric__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12020:1: ( ( ( rule__WeightedMetric__WeightAssignment_6 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12021:1: ( ( rule__WeightedMetric__WeightAssignment_6 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12021:1: ( ( rule__WeightedMetric__WeightAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12022:1: ( rule__WeightedMetric__WeightAssignment_6 )
+            {
+             before(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12023:1: ( rule__WeightedMetric__WeightAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12023:2: rule__WeightedMetric__WeightAssignment_6
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__WeightAssignment_6_in_rule__WeightedMetric__Group__6__Impl23731);
+            rule__WeightedMetric__WeightAssignment_6();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__6__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12033:1: rule__WeightedMetric__Group__7 : rule__WeightedMetric__Group__7__Impl rule__WeightedMetric__Group__8 ;
+    public final void rule__WeightedMetric__Group__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12037:1: ( rule__WeightedMetric__Group__7__Impl rule__WeightedMetric__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12038:2: rule__WeightedMetric__Group__7__Impl rule__WeightedMetric__Group__8
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__7__Impl_in_rule__WeightedMetric__Group__723761);
+            rule__WeightedMetric__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__8_in_rule__WeightedMetric__Group__723764);
+            rule__WeightedMetric__Group__8();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__7"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12045:1: rule__WeightedMetric__Group__7__Impl : ( 'metricType' ) ;
+    public final void rule__WeightedMetric__Group__7__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12049:1: ( ( 'metricType' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12050:1: ( 'metricType' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12050:1: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12051:1: 'metricType'
+            {
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7()); 
+            match(input,95,FollowSets001.FOLLOW_95_in_rule__WeightedMetric__Group__7__Impl23792); 
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__7__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12064:1: rule__WeightedMetric__Group__8 : rule__WeightedMetric__Group__8__Impl rule__WeightedMetric__Group__9 ;
+    public final void rule__WeightedMetric__Group__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12068:1: ( rule__WeightedMetric__Group__8__Impl rule__WeightedMetric__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12069:2: rule__WeightedMetric__Group__8__Impl rule__WeightedMetric__Group__9
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__8__Impl_in_rule__WeightedMetric__Group__823823);
+            rule__WeightedMetric__Group__8__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__9_in_rule__WeightedMetric__Group__823826);
+            rule__WeightedMetric__Group__9();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__8"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12076:1: rule__WeightedMetric__Group__8__Impl : ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) ) ;
+    public final void rule__WeightedMetric__Group__8__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12080:1: ( ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12081:1: ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12081:1: ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12082:1: ( rule__WeightedMetric__MetricTypeAssignment_8 )
+            {
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12083:1: ( rule__WeightedMetric__MetricTypeAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12083:2: rule__WeightedMetric__MetricTypeAssignment_8
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__MetricTypeAssignment_8_in_rule__WeightedMetric__Group__8__Impl23853);
+            rule__WeightedMetric__MetricTypeAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__8__Impl"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12093:1: rule__WeightedMetric__Group__9 : rule__WeightedMetric__Group__9__Impl ;
+    public final void rule__WeightedMetric__Group__9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12097:1: ( rule__WeightedMetric__Group__9__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12098:2: rule__WeightedMetric__Group__9__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__9__Impl_in_rule__WeightedMetric__Group__923883);
+            rule__WeightedMetric__Group__9__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__9"
+
+
+    // $ANTLR start "rule__WeightedMetric__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12104:1: rule__WeightedMetric__Group__9__Impl : ( '}' ) ;
+    public final void rule__WeightedMetric__Group__9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12108:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12109:1: ( '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12109:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12110:1: '}'
+            {
+             before(grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9()); 
+            match(input,21,FollowSets001.FOLLOW_21_in_rule__WeightedMetric__Group__9__Impl23911); 
+             after(grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__Group__9__Impl"
+
+
+    // $ANTLR start "rule__AdaptationProcess__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12144:1: rule__AdaptationProcess__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__AdaptationProcess__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12148:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12149:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12149:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12150:1: ruleEString
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationProcess__IdAssignment_123967);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__IdAssignment_1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12159:1: rule__AdaptationProcess__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__AdaptationProcess__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12163:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12164:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12164:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12165:1: ruleEString
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationProcess__NameAssignment_423998);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__NameAssignment_4"
+
+
+    // $ANTLR start "rule__AdaptationProcess__TacticsAssignment_7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12174:1: rule__AdaptationProcess__TacticsAssignment_7 : ( ruleTactic ) ;
+    public final void rule__AdaptationProcess__TacticsAssignment_7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12178:1: ( ( ruleTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12179:1: ( ruleTactic )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12179:1: ( ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12180:1: ruleTactic
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_724029);
+            ruleTactic();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__TacticsAssignment_7"
+
+
+    // $ANTLR start "rule__AdaptationProcess__TacticsAssignment_8_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12189:1: rule__AdaptationProcess__TacticsAssignment_8_1 : ( ruleTactic ) ;
+    public final void rule__AdaptationProcess__TacticsAssignment_8_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12193:1: ( ( ruleTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12194:1: ( ruleTactic )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12194:1: ( ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12195:1: ruleTactic
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_8_124060);
+            ruleTactic();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__TacticsAssignment_8_1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__ActionsAssignment_12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12204:1: rule__AdaptationProcess__ActionsAssignment_12 : ( ruleAction ) ;
+    public final void rule__AdaptationProcess__ActionsAssignment_12() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12208:1: ( ( ruleAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12209:1: ( ruleAction )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12209:1: ( ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12210:1: ruleAction
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_1224091);
+            ruleAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__ActionsAssignment_12"
+
+
+    // $ANTLR start "rule__AdaptationProcess__ActionsAssignment_13_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12219:1: rule__AdaptationProcess__ActionsAssignment_13_1 : ( ruleAction ) ;
+    public final void rule__AdaptationProcess__ActionsAssignment_13_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12223:1: ( ( ruleAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12224:1: ( ruleAction )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12224:1: ( ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12225:1: ruleAction
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_13_124122);
+            ruleAction();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__ActionsAssignment_13_1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__StrategiesAssignment_17"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12234:1: rule__AdaptationProcess__StrategiesAssignment_17 : ( ruleStrategy ) ;
+    public final void rule__AdaptationProcess__StrategiesAssignment_17() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12238:1: ( ( ruleStrategy ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12239:1: ( ruleStrategy )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12239:1: ( ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12240:1: ruleStrategy
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_1724153);
+            ruleStrategy();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__StrategiesAssignment_17"
+
+
+    // $ANTLR start "rule__AdaptationProcess__StrategiesAssignment_18_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12249:1: rule__AdaptationProcess__StrategiesAssignment_18_1 : ( ruleStrategy ) ;
+    public final void rule__AdaptationProcess__StrategiesAssignment_18_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12253:1: ( ( ruleStrategy ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12254:1: ( ruleStrategy )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12254:1: ( ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12255:1: ruleStrategy
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_18_124184);
+            ruleStrategy();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__StrategiesAssignment_18_1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__ParametersAssignment_20_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12264:1: rule__AdaptationProcess__ParametersAssignment_20_2 : ( ruleParameter ) ;
+    public final void rule__AdaptationProcess__ParametersAssignment_20_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12268:1: ( ( ruleParameter ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12269:1: ( ruleParameter )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12269:1: ( ruleParameter )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12270:1: ruleParameter
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_224215);
+            ruleParameter();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__ParametersAssignment_20_2"
+
+
+    // $ANTLR start "rule__AdaptationProcess__ParametersAssignment_20_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12279:1: rule__AdaptationProcess__ParametersAssignment_20_3_1 : ( ruleParameter ) ;
+    public final void rule__AdaptationProcess__ParametersAssignment_20_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12283:1: ( ( ruleParameter ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12284:1: ( ruleParameter )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12284:1: ( ruleParameter )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12285:1: ruleParameter
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_3_124246);
+            ruleParameter();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__ParametersAssignment_20_3_1"
+
+
+    // $ANTLR start "rule__AdaptationProcess__GoalAssignment_22"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12294:1: rule__AdaptationProcess__GoalAssignment_22 : ( ruleOverallGoal ) ;
+    public final void rule__AdaptationProcess__GoalAssignment_22() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12298:1: ( ( ruleOverallGoal ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12299:1: ( ruleOverallGoal )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12299:1: ( ruleOverallGoal )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12300:1: ruleOverallGoal
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleOverallGoal_in_rule__AdaptationProcess__GoalAssignment_2224277);
+            ruleOverallGoal();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__GoalAssignment_22"
+
+
+    // $ANTLR start "rule__AdaptationProcess__ImportDeclarationAssignment_23"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12309:1: rule__AdaptationProcess__ImportDeclarationAssignment_23 : ( ruleImportDeclaration ) ;
+    public final void rule__AdaptationProcess__ImportDeclarationAssignment_23() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12313:1: ( ( ruleImportDeclaration ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12314:1: ( ruleImportDeclaration )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12314:1: ( ruleImportDeclaration )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12315:1: ruleImportDeclaration
+            {
+             before(grammarAccess.getAdaptationProcessAccess().getImportDeclarationImportDeclarationParserRuleCall_23_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleImportDeclaration_in_rule__AdaptationProcess__ImportDeclarationAssignment_2324308);
+            ruleImportDeclaration();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationProcessAccess().getImportDeclarationImportDeclarationParserRuleCall_23_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationProcess__ImportDeclarationAssignment_23"
+
+
+    // $ANTLR start "rule__Tactic__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12324:1: rule__Tactic__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__Tactic__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12328:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12329:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12329:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12330:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__IdAssignment_124339);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__IdAssignment_1"
+
+
+    // $ANTLR start "rule__Tactic__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12339:1: rule__Tactic__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__Tactic__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12343:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12344:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12344:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12345:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__NameAssignment_424370);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__NameAssignment_4"
+
+
+    // $ANTLR start "rule__Tactic__InputParamsAssignment_5_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12354:1: rule__Tactic__InputParamsAssignment_5_2 : ( ( ruleEString ) ) ;
+    public final void rule__Tactic__InputParamsAssignment_5_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12358:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12359:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12359:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12360:1: ( ruleEString )
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12361:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12362:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_2_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_224405);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_2_0_1()); 
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__InputParamsAssignment_5_2"
+
+
+    // $ANTLR start "rule__Tactic__InputParamsAssignment_5_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12373:1: rule__Tactic__InputParamsAssignment_5_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__Tactic__InputParamsAssignment_5_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12377:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12378:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12378:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12379:1: ( ruleEString )
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12380:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12381:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_3_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_3_124444);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__InputParamsAssignment_5_3_1"
+
+
+    // $ANTLR start "rule__Tactic__OutputParamAssignment_6_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12392:1: rule__Tactic__OutputParamAssignment_6_1 : ( ( ruleEString ) ) ;
+    public final void rule__Tactic__OutputParamAssignment_6_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12396:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12397:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12397:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12398:1: ( ruleEString )
+            {
+             before(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12399:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12400:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_6_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__OutputParamAssignment_6_124483);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_6_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__OutputParamAssignment_6_1"
+
+
+    // $ANTLR start "rule__Tactic__ImplementedPlanAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12411:1: rule__Tactic__ImplementedPlanAssignment_8 : ( ruleAdaptationPlan ) ;
+    public final void rule__Tactic__ImplementedPlanAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12415:1: ( ( ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12416:1: ( ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12416:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12417:1: ruleAdaptationPlan
+            {
+             before(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__Tactic__ImplementedPlanAssignment_824518);
+            ruleAdaptationPlan();
+
+            state._fsp--;
+
+             after(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Tactic__ImplementedPlanAssignment_8"
+
+
+    // $ANTLR start "rule__Action__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12426:1: rule__Action__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__Action__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12430:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12431:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12431:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12432:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__IdAssignment_124549);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__IdAssignment_1"
+
+
+    // $ANTLR start "rule__Action__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12441:1: rule__Action__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__Action__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12445:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12446:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12446:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12447:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__NameAssignment_424580);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__NameAssignment_4"
+
+
+    // $ANTLR start "rule__Action__OutputParamAssignment_5_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12456:1: rule__Action__OutputParamAssignment_5_1 : ( ( ruleEString ) ) ;
+    public final void rule__Action__OutputParamAssignment_5_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12460:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12461:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12461:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12462:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12463:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12464:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_5_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__OutputParamAssignment_5_124615);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_5_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__OutputParamAssignment_5_1"
+
+
+    // $ANTLR start "rule__Action__InputParamsAssignment_6_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12475:1: rule__Action__InputParamsAssignment_6_2 : ( ( ruleEString ) ) ;
+    public final void rule__Action__InputParamsAssignment_6_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12479:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12480:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12480:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12481:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12482:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12483:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_2_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_224654);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_2_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__InputParamsAssignment_6_2"
+
+
+    // $ANTLR start "rule__Action__InputParamsAssignment_6_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12494:1: rule__Action__InputParamsAssignment_6_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__Action__InputParamsAssignment_6_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12498:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12499:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12499:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12500:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12501:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12502:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_3_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_3_124693);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__InputParamsAssignment_6_3_1"
+
+
+    // $ANTLR start "rule__Action__ReferredAdaptationPointAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12513:1: rule__Action__ReferredAdaptationPointAssignment_8 : ( ( ruleEString ) ) ;
+    public final void rule__Action__ReferredAdaptationPointAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12517:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12518:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12518:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12519:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12520:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12521:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__ReferredAdaptationPointAssignment_824732);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__ReferredAdaptationPointAssignment_8"
+
+
+    // $ANTLR start "rule__Action__AdaptationActionOperationAssignment_10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12532:1: rule__Action__AdaptationActionOperationAssignment_10 : ( ruleAdaptationActionOperation ) ;
+    public final void rule__Action__AdaptationActionOperationAssignment_10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12536:1: ( ( ruleAdaptationActionOperation ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12537:1: ( ruleAdaptationActionOperation )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12537:1: ( ruleAdaptationActionOperation )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12538:1: ruleAdaptationActionOperation
+            {
+             before(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationActionOperation_in_rule__Action__AdaptationActionOperationAssignment_1024767);
+            ruleAdaptationActionOperation();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Action__AdaptationActionOperationAssignment_10"
+
+
+    // $ANTLR start "rule__Strategy__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12547:1: rule__Strategy__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__Strategy__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12551:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12552:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12552:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12553:1: ruleEString
+            {
+             before(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Strategy__IdAssignment_124798);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__IdAssignment_1"
+
+
+    // $ANTLR start "rule__Strategy__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12562:1: rule__Strategy__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__Strategy__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12566:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12567:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12567:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12568:1: ruleEString
+            {
+             before(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Strategy__NameAssignment_424829);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__NameAssignment_4"
+
+
+    // $ANTLR start "rule__Strategy__ObjectiveAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12577:1: rule__Strategy__ObjectiveAssignment_6 : ( ( ruleEString ) ) ;
+    public final void rule__Strategy__ObjectiveAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12581:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12582:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12582:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12583:1: ( ruleEString )
+            {
+             before(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12584:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12585:1: ruleEString
+            {
+             before(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_6_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Strategy__ObjectiveAssignment_624864);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_6_0_1()); 
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__ObjectiveAssignment_6"
+
+
+    // $ANTLR start "rule__Strategy__TriggeringEventsAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12596:1: rule__Strategy__TriggeringEventsAssignment_8 : ( ruleEvent ) ;
+    public final void rule__Strategy__TriggeringEventsAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12600:1: ( ( ruleEvent ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12601:1: ( ruleEvent )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12601:1: ( ruleEvent )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12602:1: ruleEvent
+            {
+             before(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEvent_in_rule__Strategy__TriggeringEventsAssignment_824899);
+            ruleEvent();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__TriggeringEventsAssignment_8"
+
+
+    // $ANTLR start "rule__Strategy__TacticsAssignment_11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12611:1: rule__Strategy__TacticsAssignment_11 : ( ruleWeightedTactic ) ;
+    public final void rule__Strategy__TacticsAssignment_11() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12615:1: ( ( ruleWeightedTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12616:1: ( ruleWeightedTactic )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12616:1: ( ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12617:1: ruleWeightedTactic
+            {
+             before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_1124930);
+            ruleWeightedTactic();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__TacticsAssignment_11"
+
+
+    // $ANTLR start "rule__Strategy__TacticsAssignment_12_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12626:1: rule__Strategy__TacticsAssignment_12_1 : ( ruleWeightedTactic ) ;
+    public final void rule__Strategy__TacticsAssignment_12_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12630:1: ( ( ruleWeightedTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12631:1: ( ruleWeightedTactic )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12631:1: ( ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12632:1: ruleWeightedTactic
+            {
+             before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_12_124961);
+            ruleWeightedTactic();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__TacticsAssignment_12_1"
+
+
+    // $ANTLR start "rule__Strategy__WeightingFunctionAssignment_15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12641:1: rule__Strategy__WeightingFunctionAssignment_15 : ( ruleWeightingFunction ) ;
+    public final void rule__Strategy__WeightingFunctionAssignment_15() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12645:1: ( ( ruleWeightingFunction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12646:1: ( ruleWeightingFunction )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12646:1: ( ruleWeightingFunction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12647:1: ruleWeightingFunction
+            {
+             before(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleWeightingFunction_in_rule__Strategy__WeightingFunctionAssignment_1524992);
+            ruleWeightingFunction();
+
+            state._fsp--;
+
+             after(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Strategy__WeightingFunctionAssignment_15"
+
+
+    // $ANTLR start "rule__Parameter__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12656:1: rule__Parameter__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__Parameter__NameAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12660:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12661:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12661:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12662:1: ruleEString
+            {
+             before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_125023);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__NameAssignment_1"
+
+
+    // $ANTLR start "rule__Parameter__TypeAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12671:1: rule__Parameter__TypeAssignment_4 : ( ruleEString ) ;
+    public final void rule__Parameter__TypeAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12675:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12676:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12676:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12677:1: ruleEString
+            {
+             before(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Parameter__TypeAssignment_425054);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__TypeAssignment_4"
+
+
+    // $ANTLR start "rule__Parameter__ValueAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12686:1: rule__Parameter__ValueAssignment_6 : ( ruleEString ) ;
+    public final void rule__Parameter__ValueAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12690:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12691:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12691:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12692:1: ruleEString
+            {
+             before(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Parameter__ValueAssignment_625085);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__ValueAssignment_6"
+
+
+    // $ANTLR start "rule__OverallGoal__DescriptionAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12701:1: rule__OverallGoal__DescriptionAssignment_3 : ( ruleEString ) ;
+    public final void rule__OverallGoal__DescriptionAssignment_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12705:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12706:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12706:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12707:1: ruleEString
+            {
+             before(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__OverallGoal__DescriptionAssignment_325116);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__DescriptionAssignment_3"
+
+
+    // $ANTLR start "rule__OverallGoal__ObjectivesAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12716:1: rule__OverallGoal__ObjectivesAssignment_6 : ( ruleObjective ) ;
+    public final void rule__OverallGoal__ObjectivesAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12720:1: ( ( ruleObjective ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12721:1: ( ruleObjective )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12721:1: ( ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12722:1: ruleObjective
+            {
+             before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_625147);
+            ruleObjective();
+
+            state._fsp--;
+
+             after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__ObjectivesAssignment_6"
+
+
+    // $ANTLR start "rule__OverallGoal__ObjectivesAssignment_7_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12731:1: rule__OverallGoal__ObjectivesAssignment_7_1 : ( ruleObjective ) ;
+    public final void rule__OverallGoal__ObjectivesAssignment_7_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12735:1: ( ( ruleObjective ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12736:1: ( ruleObjective )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12736:1: ( ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12737:1: ruleObjective
+            {
+             before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_7_125178);
+            ruleObjective();
+
+            state._fsp--;
+
+             after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OverallGoal__ObjectivesAssignment_7_1"
+
+
+    // $ANTLR start "rule__ImportDeclaration__ImportURIAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12746:1: rule__ImportDeclaration__ImportURIAssignment_1 : ( ruleEString ) ;
+    public final void rule__ImportDeclaration__ImportURIAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12750:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12751:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12751:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12752:1: ruleEString
+            {
+             before(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ImportDeclaration__ImportURIAssignment_125209);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ImportDeclaration__ImportURIAssignment_1"
+
+
+    // $ANTLR start "rule__AdaptationPlan__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12761:1: rule__AdaptationPlan__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__AdaptationPlan__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12765:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12766:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12766:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12767:1: ruleEString
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationPlan__IdAssignment_125240);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__IdAssignment_1"
+
+
+    // $ANTLR start "rule__AdaptationPlan__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12776:1: rule__AdaptationPlan__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__AdaptationPlan__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12780:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12781:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12781:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12782:1: ruleEString
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationPlan__NameAssignment_425271);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__NameAssignment_4"
+
+
+    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_5_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12791:1: rule__AdaptationPlan__StepsAssignment_5_2 : ( ruleAbstractControlFlowElement ) ;
+    public final void rule__AdaptationPlan__StepsAssignment_5_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12795:1: ( ( ruleAbstractControlFlowElement ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12796:1: ( ruleAbstractControlFlowElement )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12796:1: ( ruleAbstractControlFlowElement )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12797:1: ruleAbstractControlFlowElement
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_225302);
+            ruleAbstractControlFlowElement();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_5_2"
+
+
+    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_5_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12806:1: rule__AdaptationPlan__StepsAssignment_5_3_1 : ( ruleAbstractControlFlowElement ) ;
+    public final void rule__AdaptationPlan__StepsAssignment_5_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12810:1: ( ( ruleAbstractControlFlowElement ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12811:1: ( ruleAbstractControlFlowElement )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12811:1: ( ruleAbstractControlFlowElement )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12812:1: ruleAbstractControlFlowElement
+            {
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_3_125333);
+            ruleAbstractControlFlowElement();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_5_3_1"
+
+
+    // $ANTLR start "rule__StartAction__IdAssignment_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12821:1: rule__StartAction__IdAssignment_2 : ( ruleEString ) ;
+    public final void rule__StartAction__IdAssignment_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12825:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12826:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12826:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12827:1: ruleEString
+            {
+             before(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StartAction__IdAssignment_225364);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__IdAssignment_2"
+
+
+    // $ANTLR start "rule__StartAction__PredecessorAssignment_4_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12836:1: rule__StartAction__PredecessorAssignment_4_1 : ( ( ruleEString ) ) ;
+    public final void rule__StartAction__PredecessorAssignment_4_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12840:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12841:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12841:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12842:1: ( ruleEString )
+            {
+             before(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12843:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12844:1: ruleEString
+            {
+             before(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StartAction__PredecessorAssignment_4_125399);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__PredecessorAssignment_4_1"
+
+
+    // $ANTLR start "rule__StartAction__SuccessorAssignment_5_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12855:1: rule__StartAction__SuccessorAssignment_5_1 : ( ( ruleEString ) ) ;
+    public final void rule__StartAction__SuccessorAssignment_5_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12859:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12860:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12860:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12861:1: ( ruleEString )
+            {
+             before(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12862:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12863:1: ruleEString
+            {
+             before(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StartAction__SuccessorAssignment_5_125438);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StartAction__SuccessorAssignment_5_1"
+
+
+    // $ANTLR start "rule__StopAction__IdAssignment_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12874:1: rule__StopAction__IdAssignment_2 : ( ruleEString ) ;
+    public final void rule__StopAction__IdAssignment_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12878:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12879:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12879:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12880:1: ruleEString
+            {
+             before(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StopAction__IdAssignment_225473);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__IdAssignment_2"
+
+
+    // $ANTLR start "rule__StopAction__PredecessorAssignment_4_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12889:1: rule__StopAction__PredecessorAssignment_4_1 : ( ( ruleEString ) ) ;
+    public final void rule__StopAction__PredecessorAssignment_4_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12893:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12894:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12894:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12895:1: ( ruleEString )
+            {
+             before(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12896:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12897:1: ruleEString
+            {
+             before(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StopAction__PredecessorAssignment_4_125508);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__PredecessorAssignment_4_1"
+
+
+    // $ANTLR start "rule__StopAction__SuccessorAssignment_5_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12908:1: rule__StopAction__SuccessorAssignment_5_1 : ( ( ruleEString ) ) ;
+    public final void rule__StopAction__SuccessorAssignment_5_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12912:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12913:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12913:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12914:1: ( ruleEString )
+            {
+             before(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12915:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12916:1: ruleEString
+            {
+             before(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StopAction__SuccessorAssignment_5_125547);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__StopAction__SuccessorAssignment_5_1"
+
+
+    // $ANTLR start "rule__LoopAction__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12927:1: rule__LoopAction__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__LoopAction__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12931:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12932:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12932:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12933:1: ruleEString
+            {
+             before(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__IdAssignment_125582);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__IdAssignment_1"
+
+
+    // $ANTLR start "rule__LoopAction__PredecessorAssignment_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12942:1: rule__LoopAction__PredecessorAssignment_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__LoopAction__PredecessorAssignment_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12946:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12947:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12947:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12948:1: ( ruleEString )
+            {
+             before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12949:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12950:1: ruleEString
+            {
+             before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__PredecessorAssignment_3_125617);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__PredecessorAssignment_3_1"
+
+
+    // $ANTLR start "rule__LoopAction__SuccessorAssignment_4_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12961:1: rule__LoopAction__SuccessorAssignment_4_1 : ( ( ruleEString ) ) ;
+    public final void rule__LoopAction__SuccessorAssignment_4_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12965:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12966:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12966:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12967:1: ( ruleEString )
+            {
+             before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12968:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12969:1: ruleEString
+            {
+             before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__SuccessorAssignment_4_125656);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__SuccessorAssignment_4_1"
+
+
+    // $ANTLR start "rule__LoopAction__CounterAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12980:1: rule__LoopAction__CounterAssignment_6 : ( ( ruleEString ) ) ;
+    public final void rule__LoopAction__CounterAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12984:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12985:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12985:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12986:1: ( ruleEString )
+            {
+             before(grammarAccess.getLoopActionAccess().getCounterParameterCrossReference_6_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12987:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12988:1: ruleEString
+            {
+             before(grammarAccess.getLoopActionAccess().getCounterParameterEStringParserRuleCall_6_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__CounterAssignment_625695);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getLoopActionAccess().getCounterParameterEStringParserRuleCall_6_0_1()); 
+
+            }
+
+             after(grammarAccess.getLoopActionAccess().getCounterParameterCrossReference_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__CounterAssignment_6"
+
+
+    // $ANTLR start "rule__LoopAction__BodyAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:12999:1: rule__LoopAction__BodyAssignment_8 : ( ruleAdaptationPlan ) ;
+    public final void rule__LoopAction__BodyAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13003:1: ( ( ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13004:1: ( ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13004:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13005:1: ruleAdaptationPlan
+            {
+             before(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__LoopAction__BodyAssignment_825730);
+            ruleAdaptationPlan();
+
+            state._fsp--;
+
+             after(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__LoopAction__BodyAssignment_8"
+
+
+    // $ANTLR start "rule__BranchAction__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13014:1: rule__BranchAction__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__BranchAction__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13018:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13019:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13019:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13020:1: ruleEString
+            {
+             before(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__IdAssignment_125761);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__IdAssignment_1"
+
+
+    // $ANTLR start "rule__BranchAction__ConditionAssignment_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13029:1: rule__BranchAction__ConditionAssignment_3_1 : ( ruleEString ) ;
+    public final void rule__BranchAction__ConditionAssignment_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13033:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13034:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13034:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13035:1: ruleEString
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__ConditionAssignment_3_125792);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__ConditionAssignment_3_1"
+
+
+    // $ANTLR start "rule__BranchAction__PredecessorAssignment_4_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13044:1: rule__BranchAction__PredecessorAssignment_4_1 : ( ( ruleEString ) ) ;
+    public final void rule__BranchAction__PredecessorAssignment_4_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13048:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13049:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13049:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13050:1: ( ruleEString )
+            {
+             before(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13051:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13052:1: ruleEString
+            {
+             before(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__PredecessorAssignment_4_125827);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__PredecessorAssignment_4_1"
+
+
+    // $ANTLR start "rule__BranchAction__SuccessorAssignment_5_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13063:1: rule__BranchAction__SuccessorAssignment_5_1 : ( ( ruleEString ) ) ;
+    public final void rule__BranchAction__SuccessorAssignment_5_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13067:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13068:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13068:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13069:1: ( ruleEString )
+            {
+             before(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13070:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13071:1: ruleEString
+            {
+             before(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__SuccessorAssignment_5_125866);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__SuccessorAssignment_5_1"
+
+
+    // $ANTLR start "rule__BranchAction__ContextAssignment_6_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13082:1: rule__BranchAction__ContextAssignment_6_1 : ( ( ruleEString ) ) ;
+    public final void rule__BranchAction__ContextAssignment_6_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13086:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13087:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13087:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13088:1: ( ruleEString )
+            {
+             before(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13089:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13090:1: ruleEString
+            {
+             before(grammarAccess.getBranchActionAccess().getContextEntityEStringParserRuleCall_6_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__ContextAssignment_6_125905);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getContextEntityEStringParserRuleCall_6_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__ContextAssignment_6_1"
+
+
+    // $ANTLR start "rule__BranchAction__ConditionTrueBranchAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13101:1: rule__BranchAction__ConditionTrueBranchAssignment_8 : ( ruleAdaptationPlan ) ;
+    public final void rule__BranchAction__ConditionTrueBranchAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13105:1: ( ( ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13106:1: ( ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13106:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13107:1: ruleAdaptationPlan
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionTrueBranchAssignment_825940);
+            ruleAdaptationPlan();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__ConditionTrueBranchAssignment_8"
+
+
+    // $ANTLR start "rule__BranchAction__ConditionFalseBranchAssignment_10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13116:1: rule__BranchAction__ConditionFalseBranchAssignment_10 : ( ruleAdaptationPlan ) ;
+    public final void rule__BranchAction__ConditionFalseBranchAssignment_10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13120:1: ( ( ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13121:1: ( ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13121:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13122:1: ruleAdaptationPlan
+            {
+             before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionFalseBranchAssignment_1025971);
+            ruleAdaptationPlan();
+
+            state._fsp--;
+
+             after(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__BranchAction__ConditionFalseBranchAssignment_10"
+
+
+    // $ANTLR start "rule__ActionReference__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13131:1: rule__ActionReference__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__ActionReference__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13135:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13136:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13136:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13137:1: ruleEString
+            {
+             before(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__IdAssignment_126002);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__IdAssignment_1"
+
+
+    // $ANTLR start "rule__ActionReference__PredecessorAssignment_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13146:1: rule__ActionReference__PredecessorAssignment_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__ActionReference__PredecessorAssignment_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13150:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13151:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13151:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13152:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13153:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13154:1: ruleEString
+            {
+             before(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__PredecessorAssignment_3_126037);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__PredecessorAssignment_3_1"
+
+
+    // $ANTLR start "rule__ActionReference__SuccessorAssignment_4_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13165:1: rule__ActionReference__SuccessorAssignment_4_1 : ( ( ruleEString ) ) ;
+    public final void rule__ActionReference__SuccessorAssignment_4_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13169:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13170:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13170:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13171:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13172:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13173:1: ruleEString
+            {
+             before(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__SuccessorAssignment_4_126076);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__SuccessorAssignment_4_1"
+
+
+    // $ANTLR start "rule__ActionReference__RefersToAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13184:1: rule__ActionReference__RefersToAssignment_6 : ( ( ruleEString ) ) ;
+    public final void rule__ActionReference__RefersToAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13188:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13189:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13189:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13190:1: ( ruleEString )
+            {
+             before(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13191:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13192:1: ruleEString
+            {
+             before(grammarAccess.getActionReferenceAccess().getRefersToActionEStringParserRuleCall_6_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__RefersToAssignment_626115);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getActionReferenceAccess().getRefersToActionEStringParserRuleCall_6_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ActionReference__RefersToAssignment_6"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13203:1: rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 : ( ruleAdaptationScope ) ;
+    public final void rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13207:1: ( ( ruleAdaptationScope ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13208:1: ( ruleAdaptationScope )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13208:1: ( ruleAdaptationScope )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13209:1: ruleAdaptationScope
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationScope_in_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_326150);
+            ruleAdaptationScope();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3"
+
+
+    // $ANTLR start "rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13218:1: rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 : ( ruleAdaptationDirection ) ;
+    public final void rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13222:1: ( ( ruleAdaptationDirection ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13223:1: ( ruleAdaptationDirection )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13223:1: ( ruleAdaptationDirection )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13224:1: ruleAdaptationDirection
+            {
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleAdaptationDirection_in_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_526181);
+            ruleAdaptationDirection();
+
+            state._fsp--;
+
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13233:1: rule__ModelVariableConfigurationRange__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__ModelVariableConfigurationRange__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13237:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13238:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13238:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13239:1: ruleEString
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__IdAssignment_126212);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__IdAssignment_1"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13248:1: rule__ModelVariableConfigurationRange__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__ModelVariableConfigurationRange__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13252:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13253:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13253:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13254:1: ruleEString
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__NameAssignment_426243);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__NameAssignment_4"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__MinValueAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13263:1: rule__ModelVariableConfigurationRange__MinValueAssignment_6 : ( ruleEDouble ) ;
+    public final void rule__ModelVariableConfigurationRange__MinValueAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13267:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13268:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13268:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13269:1: ruleEDouble
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MinValueAssignment_626274);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__MinValueAssignment_6"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__MaxValueAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13278:1: rule__ModelVariableConfigurationRange__MaxValueAssignment_8 : ( ruleEDouble ) ;
+    public final void rule__ModelVariableConfigurationRange__MaxValueAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13282:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13283:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13283:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13284:1: ruleEDouble
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MaxValueAssignment_826305);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__MaxValueAssignment_8"
+
+
+    // $ANTLR start "rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13293:1: rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 : ( ( ruleEString ) ) ;
+    public final void rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13297:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13298:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13298:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13299:1: ( ruleEString )
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13300:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13301:1: ruleEString
+            {
+             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_1026340);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); 
+
+            }
+
+             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13312:1: rule__ModelEntityConfigurationRange__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__ModelEntityConfigurationRange__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13316:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13317:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13317:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13318:1: ruleEString
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__IdAssignment_126375);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__IdAssignment_1"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13327:1: rule__ModelEntityConfigurationRange__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__ModelEntityConfigurationRange__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13331:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13332:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13332:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13333:1: ruleEString
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__NameAssignment_426406);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__NameAssignment_4"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13342:1: rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 : ( ( ruleEString ) ) ;
+    public final void rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13346:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13347:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13347:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13348:1: ( ruleEString )
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13349:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13350:1: ruleEString
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_626441);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); 
+
+            }
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6"
+
+
+    // $ANTLR start "rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13361:1: rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 : ( ruleVariationType ) ;
+    public final void rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13365:1: ( ( ruleVariationType ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13366:1: ( ruleVariationType )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13366:1: ( ruleVariationType )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13367:1: ruleVariationType
+            {
+             before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleVariationType_in_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_826476);
+            ruleVariationType();
+
+            state._fsp--;
+
+             after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8"
+
+
+    // $ANTLR start "rule__PropertyRange__MinValueConstraintAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13376:1: rule__PropertyRange__MinValueConstraintAssignment_3 : ( ruleOclConstraint ) ;
+    public final void rule__PropertyRange__MinValueConstraintAssignment_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13380:1: ( ( ruleOclConstraint ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13381:1: ( ruleOclConstraint )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13381:1: ( ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13382:1: ruleOclConstraint
+            {
+             before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MinValueConstraintAssignment_326507);
+            ruleOclConstraint();
+
+            state._fsp--;
+
+             after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__MinValueConstraintAssignment_3"
+
+
+    // $ANTLR start "rule__PropertyRange__MaxValueConstraintAssignment_5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13391:1: rule__PropertyRange__MaxValueConstraintAssignment_5 : ( ruleOclConstraint ) ;
+    public final void rule__PropertyRange__MaxValueConstraintAssignment_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13395:1: ( ( ruleOclConstraint ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13396:1: ( ruleOclConstraint )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13396:1: ( ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13397:1: ruleOclConstraint
+            {
+             before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MaxValueConstraintAssignment_526538);
+            ruleOclConstraint();
+
+            state._fsp--;
+
+             after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PropertyRange__MaxValueConstraintAssignment_5"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__VariantsAssignment_2_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13406:1: rule__SetOfConfigurations__VariantsAssignment_2_2 : ( ( ruleEString ) ) ;
+    public final void rule__SetOfConfigurations__VariantsAssignment_2_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13410:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13411:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13411:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13412:1: ( ruleEString )
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13413:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13414:1: ruleEString
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_2_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_226573);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_2_0_1()); 
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__VariantsAssignment_2_2"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__VariantsAssignment_2_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13425:1: rule__SetOfConfigurations__VariantsAssignment_2_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__SetOfConfigurations__VariantsAssignment_2_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13429:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13430:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13430:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13431:1: ( ruleEString )
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13432:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13433:1: ruleEString
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_3_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_3_126612);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__VariantsAssignment_2_3_1"
+
+
+    // $ANTLR start "rule__SetOfConfigurations__ValueConstraintAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13444:1: rule__SetOfConfigurations__ValueConstraintAssignment_4 : ( ruleOclConstraint ) ;
+    public final void rule__SetOfConfigurations__ValueConstraintAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13448:1: ( ( ruleOclConstraint ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13449:1: ( ruleOclConstraint )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13449:1: ( ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13450:1: ruleOclConstraint
+            {
+             before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleOclConstraint_in_rule__SetOfConfigurations__ValueConstraintAssignment_426647);
+            ruleOclConstraint();
+
+            state._fsp--;
+
+             after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SetOfConfigurations__ValueConstraintAssignment_4"
+
+
+    // $ANTLR start "rule__OclConstraint__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13459:1: rule__OclConstraint__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__OclConstraint__NameAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13463:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13464:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13464:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13465:1: ruleEString
+            {
+             before(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__OclConstraint__NameAssignment_126678);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__NameAssignment_1"
+
+
+    // $ANTLR start "rule__OclConstraint__OclStringAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13474:1: rule__OclConstraint__OclStringAssignment_4 : ( ruleEString ) ;
+    public final void rule__OclConstraint__OclStringAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13478:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13479:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13479:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13480:1: ruleEString
+            {
+             before(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__OclConstraint__OclStringAssignment_426709);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OclConstraint__OclStringAssignment_4"
+
+
+    // $ANTLR start "rule__Objective__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13489:1: rule__Objective__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__Objective__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13493:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13494:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13494:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13495:1: ruleEString
+            {
+             before(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Objective__IdAssignment_126740);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__IdAssignment_1"
+
+
+    // $ANTLR start "rule__Objective__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13504:1: rule__Objective__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__Objective__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13508:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13509:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13509:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13510:1: ruleEString
+            {
+             before(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Objective__NameAssignment_426771);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__NameAssignment_4"
+
+
+    // $ANTLR start "rule__Objective__SpecificationsAssignment_7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13519:1: rule__Objective__SpecificationsAssignment_7 : ( ruleSpecification ) ;
+    public final void rule__Objective__SpecificationsAssignment_7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13523:1: ( ( ruleSpecification ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13524:1: ( ruleSpecification )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13524:1: ( ruleSpecification )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13525:1: ruleSpecification
+            {
+             before(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_7_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleSpecification_in_rule__Objective__SpecificationsAssignment_726802);
+            ruleSpecification();
+
+            state._fsp--;
+
+             after(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_7_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__SpecificationsAssignment_7"
+
+
+    // $ANTLR start "rule__Objective__SpecificationsAssignment_8_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13534:1: rule__Objective__SpecificationsAssignment_8_1 : ( ruleSpecification ) ;
+    public final void rule__Objective__SpecificationsAssignment_8_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13538:1: ( ( ruleSpecification ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13539:1: ( ruleSpecification )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13539:1: ( ruleSpecification )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13540:1: ruleSpecification
+            {
+             before(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_8_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleSpecification_in_rule__Objective__SpecificationsAssignment_8_126833);
+            ruleSpecification();
+
+            state._fsp--;
+
+             after(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_8_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Objective__SpecificationsAssignment_8_1"
+
+
+    // $ANTLR start "rule__Event__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13549:1: rule__Event__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__Event__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13553:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13554:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13554:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13555:1: ruleEString
+            {
+             before(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Event__IdAssignment_126864);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__IdAssignment_1"
+
+
+    // $ANTLR start "rule__Event__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13564:1: rule__Event__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__Event__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13568:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13569:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13569:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13570:1: ruleEString
+            {
+             before(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Event__NameAssignment_426895);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Event__NameAssignment_4"
+
+
+    // $ANTLR start "rule__WeightedTactic__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13579:1: rule__WeightedTactic__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__WeightedTactic__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13583:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13584:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13584:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13585:1: ruleEString
+            {
+             before(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__IdAssignment_126926);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__IdAssignment_1"
+
+
+    // $ANTLR start "rule__WeightedTactic__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13594:1: rule__WeightedTactic__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__WeightedTactic__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13598:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13599:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13599:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13600:1: ruleEString
+            {
+             before(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__NameAssignment_426957);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__NameAssignment_4"
+
+
+    // $ANTLR start "rule__WeightedTactic__CurrentWeightAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13609:1: rule__WeightedTactic__CurrentWeightAssignment_6 : ( ruleEDouble ) ;
+    public final void rule__WeightedTactic__CurrentWeightAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13613:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13614:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13614:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13615:1: ruleEDouble
+            {
+             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__WeightedTactic__CurrentWeightAssignment_626988);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__CurrentWeightAssignment_6"
+
+
+    // $ANTLR start "rule__WeightedTactic__DefaultWeightAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13624:1: rule__WeightedTactic__DefaultWeightAssignment_8 : ( ruleEDouble ) ;
+    public final void rule__WeightedTactic__DefaultWeightAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13628:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13629:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13629:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13630:1: ruleEDouble
+            {
+             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__WeightedTactic__DefaultWeightAssignment_827019);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__DefaultWeightAssignment_8"
+
+
+    // $ANTLR start "rule__WeightedTactic__UsedTacticAssignment_10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13639:1: rule__WeightedTactic__UsedTacticAssignment_10 : ( ( ruleEString ) ) ;
+    public final void rule__WeightedTactic__UsedTacticAssignment_10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13643:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13644:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13644:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13645:1: ( ruleEString )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13646:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13647:1: ruleEString
+            {
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_10_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__UsedTacticAssignment_1027054);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_10_0_1()); 
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__UsedTacticAssignment_10"
+
+
+    // $ANTLR start "rule__WeightedTactic__LastImpactAssignment_11_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13658:1: rule__WeightedTactic__LastImpactAssignment_11_1 : ( ( ruleEString ) ) ;
+    public final void rule__WeightedTactic__LastImpactAssignment_11_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13662:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13663:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13663:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13664:1: ( ruleEString )
+            {
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13665:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13666:1: ruleEString
+            {
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_11_1_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__LastImpactAssignment_11_127093);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_11_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedTactic__LastImpactAssignment_11_1"
+
+
+    // $ANTLR start "rule__WeightingFunction__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13677:1: rule__WeightingFunction__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__WeightingFunction__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13681:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13682:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13682:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13683:1: ruleEString
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightingFunction__IdAssignment_127128);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__IdAssignment_1"
+
+
+    // $ANTLR start "rule__WeightingFunction__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13692:1: rule__WeightingFunction__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__WeightingFunction__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13696:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13697:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13697:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13698:1: ruleEString
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightingFunction__NameAssignment_427159);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__NameAssignment_4"
+
+
+    // $ANTLR start "rule__WeightingFunction__WeightingFunctionImplementationAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13707:1: rule__WeightingFunction__WeightingFunctionImplementationAssignment_6 : ( ruleEString ) ;
+    public final void rule__WeightingFunction__WeightingFunctionImplementationAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13711:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13712:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13712:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13713:1: ruleEString
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationEStringParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightingFunction__WeightingFunctionImplementationAssignment_627190);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationEStringParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__WeightingFunctionImplementationAssignment_6"
+
+
+    // $ANTLR start "rule__WeightingFunction__WeightedMetricsAssignment_9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13722:1: rule__WeightingFunction__WeightedMetricsAssignment_9 : ( ruleWeightedMetric ) ;
+    public final void rule__WeightingFunction__WeightedMetricsAssignment_9() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13726:1: ( ( ruleWeightedMetric ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13727:1: ( ruleWeightedMetric )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13727:1: ( ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13728:1: ruleWeightedMetric
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_9_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_927221);
+            ruleWeightedMetric();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_9_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__WeightedMetricsAssignment_9"
+
+
+    // $ANTLR start "rule__WeightingFunction__WeightedMetricsAssignment_10_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13737:1: rule__WeightingFunction__WeightedMetricsAssignment_10_1 : ( ruleWeightedMetric ) ;
+    public final void rule__WeightingFunction__WeightedMetricsAssignment_10_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13741:1: ( ( ruleWeightedMetric ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13742:1: ( ruleWeightedMetric )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13742:1: ( ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13743:1: ruleWeightedMetric
+            {
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_10_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_10_127252);
+            ruleWeightedMetric();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_10_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightingFunction__WeightedMetricsAssignment_10_1"
+
+
+    // $ANTLR start "rule__Specification__ValueAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13752:1: rule__Specification__ValueAssignment_3 : ( ruleEDouble ) ;
+    public final void rule__Specification__ValueAssignment_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13756:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13757:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13757:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13758:1: ruleEDouble
+            {
+             before(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__Specification__ValueAssignment_327283);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__ValueAssignment_3"
+
+
+    // $ANTLR start "rule__Specification__RelationalOperatorAssignment_5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13767:1: rule__Specification__RelationalOperatorAssignment_5 : ( ruleRelationalOperator ) ;
+    public final void rule__Specification__RelationalOperatorAssignment_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13771:1: ( ( ruleRelationalOperator ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13772:1: ( ruleRelationalOperator )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13772:1: ( ruleRelationalOperator )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13773:1: ruleRelationalOperator
+            {
+             before(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleRelationalOperator_in_rule__Specification__RelationalOperatorAssignment_527314);
+            ruleRelationalOperator();
+
+            state._fsp--;
+
+             after(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__RelationalOperatorAssignment_5"
+
+
+    // $ANTLR start "rule__Specification__MetricTypeAssignment_7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13782:1: rule__Specification__MetricTypeAssignment_7 : ( ( ruleEString ) ) ;
+    public final void rule__Specification__MetricTypeAssignment_7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13786:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13787:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13787:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13788:1: ( ruleEString )
+            {
+             before(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeCrossReference_7_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13789:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13790:1: ruleEString
+            {
+             before(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeEStringParserRuleCall_7_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Specification__MetricTypeAssignment_727349);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeEStringParserRuleCall_7_0_1()); 
+
+            }
+
+             after(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeCrossReference_7_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Specification__MetricTypeAssignment_7"
+
+
+    // $ANTLR start "rule__MetricValue__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13812:1: rule__MetricValue__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__MetricValue__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13816:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13817:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13817:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13818:1: ruleEString
+            {
+             before(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__IdAssignment_127395);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__IdAssignment_1"
+
+
+    // $ANTLR start "rule__MetricValue__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13827:1: rule__MetricValue__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__MetricValue__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13831:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13832:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13832:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13833:1: ruleEString
+            {
+             before(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__NameAssignment_427426);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__NameAssignment_4"
+
+
+    // $ANTLR start "rule__MetricValue__ValueAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13842:1: rule__MetricValue__ValueAssignment_6 : ( ruleEDouble ) ;
+    public final void rule__MetricValue__ValueAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13846:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13847:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13847:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13848:1: ruleEDouble
+            {
+             before(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__MetricValue__ValueAssignment_627457);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__ValueAssignment_6"
+
+
+    // $ANTLR start "rule__MetricValue__MeasuredEntityAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13857:1: rule__MetricValue__MeasuredEntityAssignment_8 : ( ( ruleEString ) ) ;
+    public final void rule__MetricValue__MeasuredEntityAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13861:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13862:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13862:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13863:1: ( ruleEString )
+            {
+             before(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13864:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13865:1: ruleEString
+            {
+             before(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__MeasuredEntityAssignment_827492);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1()); 
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__MeasuredEntityAssignment_8"
+
+
+    // $ANTLR start "rule__MetricValue__MetricTypeAssignment_10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13876:1: rule__MetricValue__MetricTypeAssignment_10 : ( ( ruleEString ) ) ;
+    public final void rule__MetricValue__MetricTypeAssignment_10() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13880:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13881:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13881:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13882:1: ( ruleEString )
+            {
+             before(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13883:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13884:1: ruleEString
+            {
+             before(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__MetricTypeAssignment_1027531);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1()); 
+
+            }
+
+             after(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__MetricValue__MetricTypeAssignment_10"
+
+
+    // $ANTLR start "rule__WeightedMetric__IdAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13899:1: rule__WeightedMetric__IdAssignment_1 : ( ruleEString ) ;
+    public final void rule__WeightedMetric__IdAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13903:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13904:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13904:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13905:1: ruleEString
+            {
+             before(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedMetric__IdAssignment_127570);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__IdAssignment_1"
+
+
+    // $ANTLR start "rule__WeightedMetric__NameAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13914:1: rule__WeightedMetric__NameAssignment_4 : ( ruleEString ) ;
+    public final void rule__WeightedMetric__NameAssignment_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13918:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13919:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13919:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13920:1: ruleEString
+            {
+             before(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedMetric__NameAssignment_427601);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__NameAssignment_4"
+
+
+    // $ANTLR start "rule__WeightedMetric__WeightAssignment_6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13929:1: rule__WeightedMetric__WeightAssignment_6 : ( ruleEDouble ) ;
+    public final void rule__WeightedMetric__WeightAssignment_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13933:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13934:1: ( ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13934:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13935:1: ruleEDouble
+            {
+             before(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__WeightedMetric__WeightAssignment_627632);
+            ruleEDouble();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__WeightAssignment_6"
+
+
+    // $ANTLR start "rule__WeightedMetric__MetricTypeAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13944:1: rule__WeightedMetric__MetricTypeAssignment_8 : ( ( ruleEString ) ) ;
+    public final void rule__WeightedMetric__MetricTypeAssignment_8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13948:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13949:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13949:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13950:1: ( ruleEString )
+            {
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13951:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/contentassist/antlr/internal/InternalStaLang.g:13952:1: ruleEString
+            {
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); 
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedMetric__MetricTypeAssignment_827667);
+            ruleEString();
+
+            state._fsp--;
+
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); 
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__WeightedMetric__MetricTypeAssignment_8"
+
+    // Delegated rules
+
+
+ 
+
+    
+    private static class FollowSets000 {
+        public static final BitSet FOLLOW_ruleAdaptationProcess_in_entryRuleAdaptationProcess61 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationProcess68 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__0_in_ruleAdaptationProcess94 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement123 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAbstractControlFlowElement130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AbstractControlFlowElement__Alternatives_in_ruleAbstractControlFlowElement156 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleVariationType_in_entryRuleVariationType183 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleVariationType190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__VariationType__Alternatives_in_ruleVariationType216 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString243 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEString250 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString276 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_entryRuleTactic303 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTactic310 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__0_in_ruleTactic336 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_entryRuleAction363 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAction370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__0_in_ruleAction396 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_entryRuleStrategy423 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStrategy430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__0_in_ruleStrategy456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter483 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameter490 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__0_in_ruleParameter516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal543 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOverallGoal550 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__0_in_ruleOverallGoal576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImportDeclaration_in_entryRuleImportDeclaration603 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleImportDeclaration610 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportDeclaration__Group__0_in_ruleImportDeclaration636 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan663 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationPlan670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__0_in_ruleAdaptationPlan696 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction723 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction730 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__0_in_ruleStartAction756 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction783 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__0_in_ruleStopAction816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction843 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__0_in_ruleLoopAction876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction903 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction910 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__0_in_ruleBranchAction936 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_entryRuleActionReference963 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleActionReference970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__0_in_ruleActionReference996 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation1023 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationActionOperation1030 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__0_in_ruleAdaptationActionOperation1056 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange1083 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange1090 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__0_in_ruleModelVariableConfigurationRange1116 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange1143 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange1150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__0_in_ruleModelEntityConfigurationRange1176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_entryRuleEDouble1203 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEDouble1210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__0_in_ruleEDouble1236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyRange_in_entryRulePropertyRange1263 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyRange1270 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__0_in_rulePropertyRange1296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations1323 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSetOfConfigurations1330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__0_in_ruleSetOfConfigurations1356 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint1383 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOclConstraint1390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__0_in_ruleOclConstraint1416 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope1443 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationScope1450 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_11_in_ruleAdaptationScope1477 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection1505 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationDirection1512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationDirection1539 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_entryRuleObjective1567 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleObjective1574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__0_in_ruleObjective1600 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEvent_in_entryRuleEvent1627 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEvent1634 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__0_in_ruleEvent1660 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic1687 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedTactic1694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__0_in_ruleWeightedTactic1720 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction1747 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightingFunction1754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__0_in_ruleWeightingFunction1780 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecification_in_entryRuleSpecification1807 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSpecification1814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__0_in_ruleSpecification1840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRelationalOperator_in_entryRuleRelationalOperator1869 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRelationalOperator1876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_ruleRelationalOperator1903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDate_in_entryRuleEDate1935 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEDate1942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_14_in_ruleEDate1969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMetricValue_in_entryRuleMetricValue1997 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleMetricValue2004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__0_in_ruleMetricValue2030 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric2059 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedMetric2066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__0_in_ruleWeightedMetric2092 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_rule__AbstractControlFlowElement__Alternatives2129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_rule__AbstractControlFlowElement__Alternatives2146 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_rule__AbstractControlFlowElement__Alternatives2163 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_rule__AbstractControlFlowElement__Alternatives2180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_rule__AbstractControlFlowElement__Alternatives2197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyRange_in_rule__VariationType__Alternatives2229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_rule__VariationType__Alternatives2246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives2278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives2295 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_15_in_rule__EDouble__Alternatives_4_02328 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_16_in_rule__EDouble__Alternatives_4_02348 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__0__Impl_in_rule__AdaptationProcess__Group__02380 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__1_in_rule__AdaptationProcess__Group__02383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_17_in_rule__AdaptationProcess__Group__0__Impl2411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__1__Impl_in_rule__AdaptationProcess__Group__12442 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__2_in_rule__AdaptationProcess__Group__12445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__IdAssignment_1_in_rule__AdaptationProcess__Group__1__Impl2472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__2__Impl_in_rule__AdaptationProcess__Group__22502 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__3_in_rule__AdaptationProcess__Group__22505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationProcess__Group__2__Impl2533 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__3__Impl_in_rule__AdaptationProcess__Group__32564 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__4_in_rule__AdaptationProcess__Group__32567 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__AdaptationProcess__Group__3__Impl2595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__4__Impl_in_rule__AdaptationProcess__Group__42626 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__5_in_rule__AdaptationProcess__Group__42629 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__NameAssignment_4_in_rule__AdaptationProcess__Group__4__Impl2656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__5__Impl_in_rule__AdaptationProcess__Group__52686 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__6_in_rule__AdaptationProcess__Group__52689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group__5__Impl2717 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__6__Impl_in_rule__AdaptationProcess__Group__62748 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__7_in_rule__AdaptationProcess__Group__62751 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationProcess__Group__6__Impl2779 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__7__Impl_in_rule__AdaptationProcess__Group__72810 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__8_in_rule__AdaptationProcess__Group__72813 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__TacticsAssignment_7_in_rule__AdaptationProcess__Group__7__Impl2840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__8__Impl_in_rule__AdaptationProcess__Group__82870 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__9_in_rule__AdaptationProcess__Group__82873 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__0_in_rule__AdaptationProcess__Group__8__Impl2900 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__9__Impl_in_rule__AdaptationProcess__Group__92931 = new BitSet(new long[]{0x0000000000400000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__10_in_rule__AdaptationProcess__Group__92934 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group__9__Impl2962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__10__Impl_in_rule__AdaptationProcess__Group__102993 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__11_in_rule__AdaptationProcess__Group__102996 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_22_in_rule__AdaptationProcess__Group__10__Impl3024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__11__Impl_in_rule__AdaptationProcess__Group__113055 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__12_in_rule__AdaptationProcess__Group__113058 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationProcess__Group__11__Impl3086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__12__Impl_in_rule__AdaptationProcess__Group__123117 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__13_in_rule__AdaptationProcess__Group__123120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ActionsAssignment_12_in_rule__AdaptationProcess__Group__12__Impl3147 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__13__Impl_in_rule__AdaptationProcess__Group__133177 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__14_in_rule__AdaptationProcess__Group__133180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__0_in_rule__AdaptationProcess__Group__13__Impl3207 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__14__Impl_in_rule__AdaptationProcess__Group__143238 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__15_in_rule__AdaptationProcess__Group__143241 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group__14__Impl3269 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__15__Impl_in_rule__AdaptationProcess__Group__153300 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__16_in_rule__AdaptationProcess__Group__153303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__AdaptationProcess__Group__15__Impl3331 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__16__Impl_in_rule__AdaptationProcess__Group__163362 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__17_in_rule__AdaptationProcess__Group__163365 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationProcess__Group__16__Impl3393 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__17__Impl_in_rule__AdaptationProcess__Group__173424 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__18_in_rule__AdaptationProcess__Group__173427 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__StrategiesAssignment_17_in_rule__AdaptationProcess__Group__17__Impl3454 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__18__Impl_in_rule__AdaptationProcess__Group__183484 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__19_in_rule__AdaptationProcess__Group__183487 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__0_in_rule__AdaptationProcess__Group__18__Impl3514 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__19__Impl_in_rule__AdaptationProcess__Group__193545 = new BitSet(new long[]{0x0000000005000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__20_in_rule__AdaptationProcess__Group__193548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group__19__Impl3576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__20__Impl_in_rule__AdaptationProcess__Group__203607 = new BitSet(new long[]{0x0000000005000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__21_in_rule__AdaptationProcess__Group__203610 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__0_in_rule__AdaptationProcess__Group__20__Impl3637 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__21__Impl_in_rule__AdaptationProcess__Group__213668 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__22_in_rule__AdaptationProcess__Group__213671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group__21__Impl3699 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__22__Impl_in_rule__AdaptationProcess__Group__223730 = new BitSet(new long[]{0x0000400000200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__23_in_rule__AdaptationProcess__Group__223733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__GoalAssignment_22_in_rule__AdaptationProcess__Group__22__Impl3760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__23__Impl_in_rule__AdaptationProcess__Group__233790 = new BitSet(new long[]{0x0000400000200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__24_in_rule__AdaptationProcess__Group__233793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ImportDeclarationAssignment_23_in_rule__AdaptationProcess__Group__23__Impl3820 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__24__Impl_in_rule__AdaptationProcess__Group__243851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group__24__Impl3879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__0__Impl_in_rule__AdaptationProcess__Group_8__03960 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__1_in_rule__AdaptationProcess__Group_8__03963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AdaptationProcess__Group_8__0__Impl3991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__1__Impl_in_rule__AdaptationProcess__Group_8__14022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__TacticsAssignment_8_1_in_rule__AdaptationProcess__Group_8__1__Impl4049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__0__Impl_in_rule__AdaptationProcess__Group_13__04083 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__1_in_rule__AdaptationProcess__Group_13__04086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AdaptationProcess__Group_13__0__Impl4114 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__1__Impl_in_rule__AdaptationProcess__Group_13__14145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ActionsAssignment_13_1_in_rule__AdaptationProcess__Group_13__1__Impl4172 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__0__Impl_in_rule__AdaptationProcess__Group_18__04206 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__1_in_rule__AdaptationProcess__Group_18__04209 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AdaptationProcess__Group_18__0__Impl4237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__1__Impl_in_rule__AdaptationProcess__Group_18__14268 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__StrategiesAssignment_18_1_in_rule__AdaptationProcess__Group_18__1__Impl4295 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__0__Impl_in_rule__AdaptationProcess__Group_20__04329 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__1_in_rule__AdaptationProcess__Group_20__04332 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__AdaptationProcess__Group_20__0__Impl4360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__1__Impl_in_rule__AdaptationProcess__Group_20__14391 = new BitSet(new long[]{0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__2_in_rule__AdaptationProcess__Group_20__14394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationProcess__Group_20__1__Impl4422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__2__Impl_in_rule__AdaptationProcess__Group_20__24453 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__3_in_rule__AdaptationProcess__Group_20__24456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_2_in_rule__AdaptationProcess__Group_20__2__Impl4483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__3__Impl_in_rule__AdaptationProcess__Group_20__34513 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__4_in_rule__AdaptationProcess__Group_20__34516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__0_in_rule__AdaptationProcess__Group_20__3__Impl4543 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__4__Impl_in_rule__AdaptationProcess__Group_20__44574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group_20__4__Impl4602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__0__Impl_in_rule__AdaptationProcess__Group_20_3__04643 = new BitSet(new long[]{0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__1_in_rule__AdaptationProcess__Group_20_3__04646 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AdaptationProcess__Group_20_3__0__Impl4674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__1__Impl_in_rule__AdaptationProcess__Group_20_3__14705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_3_1_in_rule__AdaptationProcess__Group_20_3__1__Impl4732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__0__Impl_in_rule__Tactic__Group__04766 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__1_in_rule__Tactic__Group__04769 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__Tactic__Group__0__Impl4797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__1__Impl_in_rule__Tactic__Group__14828 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__2_in_rule__Tactic__Group__14831 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__IdAssignment_1_in_rule__Tactic__Group__1__Impl4858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__2__Impl_in_rule__Tactic__Group__24888 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__3_in_rule__Tactic__Group__24891 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Tactic__Group__2__Impl4919 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__3__Impl_in_rule__Tactic__Group__34950 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__4_in_rule__Tactic__Group__34953 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__Tactic__Group__3__Impl4981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__4__Impl_in_rule__Tactic__Group__45012 = new BitSet(new long[]{0x0000000130000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__5_in_rule__Tactic__Group__45015 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__NameAssignment_4_in_rule__Tactic__Group__4__Impl5042 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__5__Impl_in_rule__Tactic__Group__55072 = new BitSet(new long[]{0x0000000130000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__6_in_rule__Tactic__Group__55075 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__0_in_rule__Tactic__Group__5__Impl5102 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__6__Impl_in_rule__Tactic__Group__65133 = new BitSet(new long[]{0x0000000130000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__7_in_rule__Tactic__Group__65136 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_6__0_in_rule__Tactic__Group__6__Impl5163 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__7__Impl_in_rule__Tactic__Group__75194 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__8_in_rule__Tactic__Group__75197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__Tactic__Group__7__Impl5225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__8__Impl_in_rule__Tactic__Group__85256 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__9_in_rule__Tactic__Group__85259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__ImplementedPlanAssignment_8_in_rule__Tactic__Group__8__Impl5286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__9__Impl_in_rule__Tactic__Group__95316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Tactic__Group__9__Impl5344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__0__Impl_in_rule__Tactic__Group_5__05395 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__1_in_rule__Tactic__Group_5__05398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__Tactic__Group_5__0__Impl5426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__1__Impl_in_rule__Tactic__Group_5__15457 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__2_in_rule__Tactic__Group_5__15460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__Tactic__Group_5__1__Impl5488 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__2__Impl_in_rule__Tactic__Group_5__25519 = new BitSet(new long[]{0x0000000082000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__3_in_rule__Tactic__Group_5__25522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__InputParamsAssignment_5_2_in_rule__Tactic__Group_5__2__Impl5549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__3__Impl_in_rule__Tactic__Group_5__35579 = new BitSet(new long[]{0x0000000082000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__4_in_rule__Tactic__Group_5__35582 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__0_in_rule__Tactic__Group_5__3__Impl5609 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5__4__Impl_in_rule__Tactic__Group_5__45640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__Tactic__Group_5__4__Impl5668 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__0__Impl_in_rule__Tactic__Group_5_3__05709 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__1_in_rule__Tactic__Group_5_3__05712 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__Tactic__Group_5_3__0__Impl5740 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__1__Impl_in_rule__Tactic__Group_5_3__15771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__InputParamsAssignment_5_3_1_in_rule__Tactic__Group_5_3__1__Impl5798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_6__0__Impl_in_rule__Tactic__Group_6__05832 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_6__1_in_rule__Tactic__Group_6__05835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__Tactic__Group_6__0__Impl5863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_6__1__Impl_in_rule__Tactic__Group_6__15894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__OutputParamAssignment_6_1_in_rule__Tactic__Group_6__1__Impl5921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__0__Impl_in_rule__Action__Group__05955 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group__1_in_rule__Action__Group__05958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__Action__Group__0__Impl5986 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__1__Impl_in_rule__Action__Group__16017 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Action__Group__2_in_rule__Action__Group__16020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__IdAssignment_1_in_rule__Action__Group__1__Impl6047 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__2__Impl_in_rule__Action__Group__26077 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__Action__Group__3_in_rule__Action__Group__26080 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Action__Group__2__Impl6108 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__3__Impl_in_rule__Action__Group__36139 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group__4_in_rule__Action__Group__36142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__Action__Group__3__Impl6170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__4__Impl_in_rule__Action__Group__46201 = new BitSet(new long[]{0x0000000520000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__5_in_rule__Action__Group__46204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__NameAssignment_4_in_rule__Action__Group__4__Impl6231 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__5__Impl_in_rule__Action__Group__56261 = new BitSet(new long[]{0x0000000520000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__6_in_rule__Action__Group__56264 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_5__0_in_rule__Action__Group__5__Impl6291 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__6__Impl_in_rule__Action__Group__66322 = new BitSet(new long[]{0x0000000520000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__7_in_rule__Action__Group__66325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__0_in_rule__Action__Group__6__Impl6352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__7__Impl_in_rule__Action__Group__76383 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group__8_in_rule__Action__Group__76386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__Action__Group__7__Impl6414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__8__Impl_in_rule__Action__Group__86445 = new BitSet(new long[]{0x0000000800000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__9_in_rule__Action__Group__86448 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__ReferredAdaptationPointAssignment_8_in_rule__Action__Group__8__Impl6475 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__9__Impl_in_rule__Action__Group__96505 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__10_in_rule__Action__Group__96508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_rule__Action__Group__9__Impl6536 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__10__Impl_in_rule__Action__Group__106567 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Action__Group__11_in_rule__Action__Group__106570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__AdaptationActionOperationAssignment_10_in_rule__Action__Group__10__Impl6597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__11__Impl_in_rule__Action__Group__116627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Action__Group__11__Impl6655 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_5__0__Impl_in_rule__Action__Group_5__06710 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group_5__1_in_rule__Action__Group_5__06713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__Action__Group_5__0__Impl6741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_5__1__Impl_in_rule__Action__Group_5__16772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__OutputParamAssignment_5_1_in_rule__Action__Group_5__1__Impl6799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__0__Impl_in_rule__Action__Group_6__06833 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__1_in_rule__Action__Group_6__06836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__Action__Group_6__0__Impl6864 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__1__Impl_in_rule__Action__Group_6__16895 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__2_in_rule__Action__Group_6__16898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__Action__Group_6__1__Impl6926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__2__Impl_in_rule__Action__Group_6__26957 = new BitSet(new long[]{0x0000000082000000L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__3_in_rule__Action__Group_6__26960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__InputParamsAssignment_6_2_in_rule__Action__Group_6__2__Impl6987 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__3__Impl_in_rule__Action__Group_6__37017 = new BitSet(new long[]{0x0000000082000000L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__4_in_rule__Action__Group_6__37020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6_3__0_in_rule__Action__Group_6__3__Impl7047 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6__4__Impl_in_rule__Action__Group_6__47078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__Action__Group_6__4__Impl7106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6_3__0__Impl_in_rule__Action__Group_6_3__07147 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group_6_3__1_in_rule__Action__Group_6_3__07150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__Action__Group_6_3__0__Impl7178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_6_3__1__Impl_in_rule__Action__Group_6_3__17209 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__InputParamsAssignment_6_3_1_in_rule__Action__Group_6_3__1__Impl7236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__0__Impl_in_rule__Strategy__Group__07270 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__1_in_rule__Strategy__Group__07273 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__Strategy__Group__0__Impl7301 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__1__Impl_in_rule__Strategy__Group__17332 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__2_in_rule__Strategy__Group__17335 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__IdAssignment_1_in_rule__Strategy__Group__1__Impl7362 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__2__Impl_in_rule__Strategy__Group__27392 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__3_in_rule__Strategy__Group__27395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Strategy__Group__2__Impl7423 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__3__Impl_in_rule__Strategy__Group__37454 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__4_in_rule__Strategy__Group__37457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__Strategy__Group__3__Impl7485 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__4__Impl_in_rule__Strategy__Group__47516 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__5_in_rule__Strategy__Group__47519 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__NameAssignment_4_in_rule__Strategy__Group__4__Impl7546 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__5__Impl_in_rule__Strategy__Group__57576 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__6_in_rule__Strategy__Group__57579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__Strategy__Group__5__Impl7607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__6__Impl_in_rule__Strategy__Group__67638 = new BitSet(new long[]{0x0000004000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__7_in_rule__Strategy__Group__67641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__ObjectiveAssignment_6_in_rule__Strategy__Group__6__Impl7668 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__7__Impl_in_rule__Strategy__Group__77698 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__8_in_rule__Strategy__Group__77701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_rule__Strategy__Group__7__Impl7729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__8__Impl_in_rule__Strategy__Group__87760 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__9_in_rule__Strategy__Group__87763 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__TriggeringEventsAssignment_8_in_rule__Strategy__Group__8__Impl7790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__9__Impl_in_rule__Strategy__Group__97820 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__10_in_rule__Strategy__Group__97823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Strategy__Group__9__Impl7851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__10__Impl_in_rule__Strategy__Group__107882 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__11_in_rule__Strategy__Group__107885 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Strategy__Group__10__Impl7913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__11__Impl_in_rule__Strategy__Group__117944 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__12_in_rule__Strategy__Group__117947 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__TacticsAssignment_11_in_rule__Strategy__Group__11__Impl7974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__12__Impl_in_rule__Strategy__Group__128004 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__13_in_rule__Strategy__Group__128007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__0_in_rule__Strategy__Group__12__Impl8034 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__13__Impl_in_rule__Strategy__Group__138065 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__14_in_rule__Strategy__Group__138068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Strategy__Group__13__Impl8096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__14__Impl_in_rule__Strategy__Group__148127 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__15_in_rule__Strategy__Group__148130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__Strategy__Group__14__Impl8158 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__15__Impl_in_rule__Strategy__Group__158189 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__16_in_rule__Strategy__Group__158192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__WeightingFunctionAssignment_15_in_rule__Strategy__Group__15__Impl8219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__16__Impl_in_rule__Strategy__Group__168249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Strategy__Group__16__Impl8277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__0__Impl_in_rule__Strategy__Group_12__08342 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__1_in_rule__Strategy__Group_12__08345 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__Strategy__Group_12__0__Impl8373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__1__Impl_in_rule__Strategy__Group_12__18404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__TacticsAssignment_12_1_in_rule__Strategy__Group_12__1__Impl8431 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__08465 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__08468 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_rule__Parameter__Group__0__Impl8496 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__18527 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__2_in_rule__Parameter__Group__18530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl8557 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__2__Impl_in_rule__Parameter__Group__28587 = new BitSet(new long[]{0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__3_in_rule__Parameter__Group__28590 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Parameter__Group__2__Impl8618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__3__Impl_in_rule__Parameter__Group__38649 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__4_in_rule__Parameter__Group__38652 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_rule__Parameter__Group__3__Impl8680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__4__Impl_in_rule__Parameter__Group__48711 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__5_in_rule__Parameter__Group__48714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__TypeAssignment_4_in_rule__Parameter__Group__4__Impl8741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__5__Impl_in_rule__Parameter__Group__58771 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__6_in_rule__Parameter__Group__58774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__Parameter__Group__5__Impl8802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__6__Impl_in_rule__Parameter__Group__68833 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__7_in_rule__Parameter__Group__68836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__ValueAssignment_6_in_rule__Parameter__Group__6__Impl8863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__7__Impl_in_rule__Parameter__Group__78893 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Parameter__Group__7__Impl8921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__0__Impl_in_rule__OverallGoal__Group__08968 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__1_in_rule__OverallGoal__Group__08971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_rule__OverallGoal__Group__0__Impl8999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__1__Impl_in_rule__OverallGoal__Group__19030 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__2_in_rule__OverallGoal__Group__19033 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__OverallGoal__Group__1__Impl9061 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__2__Impl_in_rule__OverallGoal__Group__29092 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__3_in_rule__OverallGoal__Group__29095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__OverallGoal__Group__2__Impl9123 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__3__Impl_in_rule__OverallGoal__Group__39154 = new BitSet(new long[]{0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__4_in_rule__OverallGoal__Group__39157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__DescriptionAssignment_3_in_rule__OverallGoal__Group__3__Impl9184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__4__Impl_in_rule__OverallGoal__Group__49214 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__5_in_rule__OverallGoal__Group__49217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rule__OverallGoal__Group__4__Impl9245 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__5__Impl_in_rule__OverallGoal__Group__59276 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__6_in_rule__OverallGoal__Group__59279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__OverallGoal__Group__5__Impl9307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__6__Impl_in_rule__OverallGoal__Group__69338 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__7_in_rule__OverallGoal__Group__69341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__ObjectivesAssignment_6_in_rule__OverallGoal__Group__6__Impl9368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__7__Impl_in_rule__OverallGoal__Group__79398 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__8_in_rule__OverallGoal__Group__79401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__0_in_rule__OverallGoal__Group__7__Impl9428 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__8__Impl_in_rule__OverallGoal__Group__89459 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__9_in_rule__OverallGoal__Group__89462 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__OverallGoal__Group__8__Impl9490 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__9__Impl_in_rule__OverallGoal__Group__99521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__OverallGoal__Group__9__Impl9549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__0__Impl_in_rule__OverallGoal__Group_7__09600 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__1_in_rule__OverallGoal__Group_7__09603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__OverallGoal__Group_7__0__Impl9631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__1__Impl_in_rule__OverallGoal__Group_7__19662 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__ObjectivesAssignment_7_1_in_rule__OverallGoal__Group_7__1__Impl9689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportDeclaration__Group__0__Impl_in_rule__ImportDeclaration__Group__09723 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ImportDeclaration__Group__1_in_rule__ImportDeclaration__Group__09726 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__ImportDeclaration__Group__0__Impl9754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportDeclaration__Group__1__Impl_in_rule__ImportDeclaration__Group__19785 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportDeclaration__ImportURIAssignment_1_in_rule__ImportDeclaration__Group__1__Impl9812 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__0__Impl_in_rule__AdaptationPlan__Group__09846 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__1_in_rule__AdaptationPlan__Group__09849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_rule__AdaptationPlan__Group__0__Impl9877 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__1__Impl_in_rule__AdaptationPlan__Group__19908 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__2_in_rule__AdaptationPlan__Group__19911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__IdAssignment_1_in_rule__AdaptationPlan__Group__1__Impl9938 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__2__Impl_in_rule__AdaptationPlan__Group__29968 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__3_in_rule__AdaptationPlan__Group__29971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationPlan__Group__2__Impl9999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__3__Impl_in_rule__AdaptationPlan__Group__310030 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__4_in_rule__AdaptationPlan__Group__310033 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__AdaptationPlan__Group__3__Impl10061 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__4__Impl_in_rule__AdaptationPlan__Group__410092 = new BitSet(new long[]{0x0001000000200000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__5_in_rule__AdaptationPlan__Group__410095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__NameAssignment_4_in_rule__AdaptationPlan__Group__4__Impl10122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__5__Impl_in_rule__AdaptationPlan__Group__510152 = new BitSet(new long[]{0x0001000000200000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__6_in_rule__AdaptationPlan__Group__510155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__0_in_rule__AdaptationPlan__Group__5__Impl10182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__6__Impl_in_rule__AdaptationPlan__Group__610213 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationPlan__Group__6__Impl10241 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__0__Impl_in_rule__AdaptationPlan__Group_5__010286 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__1_in_rule__AdaptationPlan__Group_5__010289 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__AdaptationPlan__Group_5__0__Impl10317 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__1__Impl_in_rule__AdaptationPlan__Group_5__110348 = new BitSet(new long[]{0x2132000000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__2_in_rule__AdaptationPlan__Group_5__110351 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationPlan__Group_5__1__Impl10379 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__2__Impl_in_rule__AdaptationPlan__Group_5__210410 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__3_in_rule__AdaptationPlan__Group_5__210413 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_5_2_in_rule__AdaptationPlan__Group_5__2__Impl10440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__3__Impl_in_rule__AdaptationPlan__Group_5__310470 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__4_in_rule__AdaptationPlan__Group_5__310473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__0_in_rule__AdaptationPlan__Group_5__3__Impl10500 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__4__Impl_in_rule__AdaptationPlan__Group_5__410531 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationPlan__Group_5__4__Impl10559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__0__Impl_in_rule__AdaptationPlan__Group_5_3__010600 = new BitSet(new long[]{0x2132000000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__1_in_rule__AdaptationPlan__Group_5_3__010603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AdaptationPlan__Group_5_3__0__Impl10631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__1__Impl_in_rule__AdaptationPlan__Group_5_3__110662 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_5_3_1_in_rule__AdaptationPlan__Group_5_3__1__Impl10689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__0__Impl_in_rule__StartAction__Group__010723 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__1_in_rule__StartAction__Group__010726 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__1__Impl_in_rule__StartAction__Group__110784 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__2_in_rule__StartAction__Group__110787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_49_in_rule__StartAction__Group__1__Impl10815 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__2__Impl_in_rule__StartAction__Group__210846 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__3_in_rule__StartAction__Group__210849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__IdAssignment_2_in_rule__StartAction__Group__2__Impl10876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__3__Impl_in_rule__StartAction__Group__310906 = new BitSet(new long[]{0x000C000000200000L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__4_in_rule__StartAction__Group__310909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__StartAction__Group__3__Impl10937 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__4__Impl_in_rule__StartAction__Group__410968 = new BitSet(new long[]{0x000C000000200000L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__5_in_rule__StartAction__Group__410971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_4__0_in_rule__StartAction__Group__4__Impl10998 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__5__Impl_in_rule__StartAction__Group__511029 = new BitSet(new long[]{0x000C000000200000L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__6_in_rule__StartAction__Group__511032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_5__0_in_rule__StartAction__Group__5__Impl11059 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__6__Impl_in_rule__StartAction__Group__611090 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__StartAction__Group__6__Impl11118 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_4__0__Impl_in_rule__StartAction__Group_4__011163 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_4__1_in_rule__StartAction__Group_4__011166 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__StartAction__Group_4__0__Impl11194 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_4__1__Impl_in_rule__StartAction__Group_4__111225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__PredecessorAssignment_4_1_in_rule__StartAction__Group_4__1__Impl11252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_5__0__Impl_in_rule__StartAction__Group_5__011286 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_5__1_in_rule__StartAction__Group_5__011289 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__StartAction__Group_5__0__Impl11317 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group_5__1__Impl_in_rule__StartAction__Group_5__111348 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__SuccessorAssignment_5_1_in_rule__StartAction__Group_5__1__Impl11375 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__0__Impl_in_rule__StopAction__Group__011409 = new BitSet(new long[]{0x0010000000000000L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__1_in_rule__StopAction__Group__011412 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__1__Impl_in_rule__StopAction__Group__111470 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__2_in_rule__StopAction__Group__111473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_rule__StopAction__Group__1__Impl11501 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__2__Impl_in_rule__StopAction__Group__211532 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__3_in_rule__StopAction__Group__211535 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__IdAssignment_2_in_rule__StopAction__Group__2__Impl11562 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__3__Impl_in_rule__StopAction__Group__311592 = new BitSet(new long[]{0x000C000000200000L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__4_in_rule__StopAction__Group__311595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__StopAction__Group__3__Impl11623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__4__Impl_in_rule__StopAction__Group__411654 = new BitSet(new long[]{0x000C000000200000L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__5_in_rule__StopAction__Group__411657 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_4__0_in_rule__StopAction__Group__4__Impl11684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__5__Impl_in_rule__StopAction__Group__511715 = new BitSet(new long[]{0x000C000000200000L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__6_in_rule__StopAction__Group__511718 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_5__0_in_rule__StopAction__Group__5__Impl11745 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group__6__Impl_in_rule__StopAction__Group__611776 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__StopAction__Group__6__Impl11804 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_4__0__Impl_in_rule__StopAction__Group_4__011849 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_4__1_in_rule__StopAction__Group_4__011852 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__StopAction__Group_4__0__Impl11880 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_4__1__Impl_in_rule__StopAction__Group_4__111911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__PredecessorAssignment_4_1_in_rule__StopAction__Group_4__1__Impl11938 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_5__0__Impl_in_rule__StopAction__Group_5__011972 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_5__1_in_rule__StopAction__Group_5__011975 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__StopAction__Group_5__0__Impl12003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__Group_5__1__Impl_in_rule__StopAction__Group_5__112034 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StopAction__SuccessorAssignment_5_1_in_rule__StopAction__Group_5__1__Impl12061 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__0__Impl_in_rule__LoopAction__Group__012095 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__1_in_rule__LoopAction__Group__012098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__LoopAction__Group__0__Impl12126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__1__Impl_in_rule__LoopAction__Group__112157 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__2_in_rule__LoopAction__Group__112160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__IdAssignment_1_in_rule__LoopAction__Group__1__Impl12187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__2__Impl_in_rule__LoopAction__Group__212217 = new BitSet(new long[]{0x004C000000000000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__3_in_rule__LoopAction__Group__212220 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__LoopAction__Group__2__Impl12248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__3__Impl_in_rule__LoopAction__Group__312279 = new BitSet(new long[]{0x004C000000000000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__4_in_rule__LoopAction__Group__312282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_3__0_in_rule__LoopAction__Group__3__Impl12309 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__4__Impl_in_rule__LoopAction__Group__412340 = new BitSet(new long[]{0x004C000000000000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__5_in_rule__LoopAction__Group__412343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_4__0_in_rule__LoopAction__Group__4__Impl12370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__5__Impl_in_rule__LoopAction__Group__512401 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__6_in_rule__LoopAction__Group__512404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_rule__LoopAction__Group__5__Impl12432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__6__Impl_in_rule__LoopAction__Group__612463 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__7_in_rule__LoopAction__Group__612466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__CounterAssignment_6_in_rule__LoopAction__Group__6__Impl12493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__7__Impl_in_rule__LoopAction__Group__712523 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__8_in_rule__LoopAction__Group__712526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__LoopAction__Group__7__Impl12554 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__8__Impl_in_rule__LoopAction__Group__812585 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__9_in_rule__LoopAction__Group__812588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__BodyAssignment_8_in_rule__LoopAction__Group__8__Impl12615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group__9__Impl_in_rule__LoopAction__Group__912645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__LoopAction__Group__9__Impl12673 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_3__0__Impl_in_rule__LoopAction__Group_3__012724 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_3__1_in_rule__LoopAction__Group_3__012727 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__LoopAction__Group_3__0__Impl12755 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_3__1__Impl_in_rule__LoopAction__Group_3__112786 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__PredecessorAssignment_3_1_in_rule__LoopAction__Group_3__1__Impl12813 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_4__0__Impl_in_rule__LoopAction__Group_4__012847 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_4__1_in_rule__LoopAction__Group_4__012850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__LoopAction__Group_4__0__Impl12878 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__Group_4__1__Impl_in_rule__LoopAction__Group_4__112909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LoopAction__SuccessorAssignment_4_1_in_rule__LoopAction__Group_4__1__Impl12936 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__0__Impl_in_rule__BranchAction__Group__012970 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__1_in_rule__BranchAction__Group__012973 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__BranchAction__Group__0__Impl13001 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__1__Impl_in_rule__BranchAction__Group__113032 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__2_in_rule__BranchAction__Group__113035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__IdAssignment_1_in_rule__BranchAction__Group__1__Impl13062 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__2__Impl_in_rule__BranchAction__Group__213092 = new BitSet(new long[]{0x1A0C000000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__3_in_rule__BranchAction__Group__213095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__BranchAction__Group__2__Impl13123 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__3__Impl_in_rule__BranchAction__Group__313154 = new BitSet(new long[]{0x1A0C000000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__4_in_rule__BranchAction__Group__313157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_3__0_in_rule__BranchAction__Group__3__Impl13184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__4__Impl_in_rule__BranchAction__Group__413215 = new BitSet(new long[]{0x1A0C000000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__5_in_rule__BranchAction__Group__413218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_4__0_in_rule__BranchAction__Group__4__Impl13245 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__5__Impl_in_rule__BranchAction__Group__513276 = new BitSet(new long[]{0x1A0C000000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__6_in_rule__BranchAction__Group__513279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_5__0_in_rule__BranchAction__Group__5__Impl13306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__6__Impl_in_rule__BranchAction__Group__613337 = new BitSet(new long[]{0x1A0C000000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__7_in_rule__BranchAction__Group__613340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_6__0_in_rule__BranchAction__Group__6__Impl13367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__7__Impl_in_rule__BranchAction__Group__713398 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__8_in_rule__BranchAction__Group__713401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__BranchAction__Group__7__Impl13429 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__8__Impl_in_rule__BranchAction__Group__813460 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__9_in_rule__BranchAction__Group__813463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__ConditionTrueBranchAssignment_8_in_rule__BranchAction__Group__8__Impl13490 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__9__Impl_in_rule__BranchAction__Group__913520 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__10_in_rule__BranchAction__Group__913523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__BranchAction__Group__9__Impl13551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__10__Impl_in_rule__BranchAction__Group__1013582 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__11_in_rule__BranchAction__Group__1013585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__ConditionFalseBranchAssignment_10_in_rule__BranchAction__Group__10__Impl13612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group__11__Impl_in_rule__BranchAction__Group__1113642 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__BranchAction__Group__11__Impl13670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_3__0__Impl_in_rule__BranchAction__Group_3__013725 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_3__1_in_rule__BranchAction__Group_3__013728 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_59_in_rule__BranchAction__Group_3__0__Impl13756 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_3__1__Impl_in_rule__BranchAction__Group_3__113787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__ConditionAssignment_3_1_in_rule__BranchAction__Group_3__1__Impl13814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_4__0__Impl_in_rule__BranchAction__Group_4__013848 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_4__1_in_rule__BranchAction__Group_4__013851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__BranchAction__Group_4__0__Impl13879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_4__1__Impl_in_rule__BranchAction__Group_4__113910 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__PredecessorAssignment_4_1_in_rule__BranchAction__Group_4__1__Impl13937 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_5__0__Impl_in_rule__BranchAction__Group_5__013971 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_5__1_in_rule__BranchAction__Group_5__013974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__BranchAction__Group_5__0__Impl14002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_5__1__Impl_in_rule__BranchAction__Group_5__114033 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__SuccessorAssignment_5_1_in_rule__BranchAction__Group_5__1__Impl14060 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_6__0__Impl_in_rule__BranchAction__Group_6__014094 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_6__1_in_rule__BranchAction__Group_6__014097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_rule__BranchAction__Group_6__0__Impl14125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__Group_6__1__Impl_in_rule__BranchAction__Group_6__114156 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BranchAction__ContextAssignment_6_1_in_rule__BranchAction__Group_6__1__Impl14183 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__0__Impl_in_rule__ActionReference__Group__014217 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__1_in_rule__ActionReference__Group__014220 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_rule__ActionReference__Group__0__Impl14248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__1__Impl_in_rule__ActionReference__Group__114279 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__2_in_rule__ActionReference__Group__114282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__IdAssignment_1_in_rule__ActionReference__Group__1__Impl14309 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__2__Impl_in_rule__ActionReference__Group__214339 = new BitSet(new long[]{0x400C000000000000L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__3_in_rule__ActionReference__Group__214342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__ActionReference__Group__2__Impl14370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__3__Impl_in_rule__ActionReference__Group__314401 = new BitSet(new long[]{0x400C000000000000L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__4_in_rule__ActionReference__Group__314404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_3__0_in_rule__ActionReference__Group__3__Impl14431 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__4__Impl_in_rule__ActionReference__Group__414462 = new BitSet(new long[]{0x400C000000000000L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__5_in_rule__ActionReference__Group__414465 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_4__0_in_rule__ActionReference__Group__4__Impl14492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__5__Impl_in_rule__ActionReference__Group__514523 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__6_in_rule__ActionReference__Group__514526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_62_in_rule__ActionReference__Group__5__Impl14554 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__6__Impl_in_rule__ActionReference__Group__614585 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__7_in_rule__ActionReference__Group__614588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__RefersToAssignment_6_in_rule__ActionReference__Group__6__Impl14615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group__7__Impl_in_rule__ActionReference__Group__714645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ActionReference__Group__7__Impl14673 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_3__0__Impl_in_rule__ActionReference__Group_3__014720 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_3__1_in_rule__ActionReference__Group_3__014723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__ActionReference__Group_3__0__Impl14751 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_3__1__Impl_in_rule__ActionReference__Group_3__114782 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__PredecessorAssignment_3_1_in_rule__ActionReference__Group_3__1__Impl14809 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_4__0__Impl_in_rule__ActionReference__Group_4__014843 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_4__1_in_rule__ActionReference__Group_4__014846 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__ActionReference__Group_4__0__Impl14874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__Group_4__1__Impl_in_rule__ActionReference__Group_4__114905 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ActionReference__SuccessorAssignment_4_1_in_rule__ActionReference__Group_4__1__Impl14932 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__0__Impl_in_rule__AdaptationActionOperation__Group__014966 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__1_in_rule__AdaptationActionOperation__Group__014969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_63_in_rule__AdaptationActionOperation__Group__0__Impl14997 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__1__Impl_in_rule__AdaptationActionOperation__Group__115028 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__2_in_rule__AdaptationActionOperation__Group__115031 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AdaptationActionOperation__Group__1__Impl15059 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__2__Impl_in_rule__AdaptationActionOperation__Group__215090 = new BitSet(new long[]{0x0000000000000800L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__3_in_rule__AdaptationActionOperation__Group__215093 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_64_in_rule__AdaptationActionOperation__Group__2__Impl15121 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__3__Impl_in_rule__AdaptationActionOperation__Group__315152 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__4_in_rule__AdaptationActionOperation__Group__315155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3_in_rule__AdaptationActionOperation__Group__3__Impl15182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__4__Impl_in_rule__AdaptationActionOperation__Group__415212 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__5_in_rule__AdaptationActionOperation__Group__415215 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_rule__AdaptationActionOperation__Group__4__Impl15243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__5__Impl_in_rule__AdaptationActionOperation__Group__515274 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__6_in_rule__AdaptationActionOperation__Group__515277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5_in_rule__AdaptationActionOperation__Group__5__Impl15304 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__6__Impl_in_rule__AdaptationActionOperation__Group__615334 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationActionOperation__Group__6__Impl15362 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__0__Impl_in_rule__ModelVariableConfigurationRange__Group__015407 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__1_in_rule__ModelVariableConfigurationRange__Group__015410 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_66_in_rule__ModelVariableConfigurationRange__Group__0__Impl15438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__1__Impl_in_rule__ModelVariableConfigurationRange__Group__115469 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__2_in_rule__ModelVariableConfigurationRange__Group__115472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__IdAssignment_1_in_rule__ModelVariableConfigurationRange__Group__1__Impl15499 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__2__Impl_in_rule__ModelVariableConfigurationRange__Group__215529 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__3_in_rule__ModelVariableConfigurationRange__Group__215532 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__ModelVariableConfigurationRange__Group__2__Impl15560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__3__Impl_in_rule__ModelVariableConfigurationRange__Group__315591 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__4_in_rule__ModelVariableConfigurationRange__Group__315594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__ModelVariableConfigurationRange__Group__3__Impl15622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__4__Impl_in_rule__ModelVariableConfigurationRange__Group__415653 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__5_in_rule__ModelVariableConfigurationRange__Group__415656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__NameAssignment_4_in_rule__ModelVariableConfigurationRange__Group__4__Impl15683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__5__Impl_in_rule__ModelVariableConfigurationRange__Group__515713 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__6_in_rule__ModelVariableConfigurationRange__Group__515716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__ModelVariableConfigurationRange__Group__5__Impl15744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__6__Impl_in_rule__ModelVariableConfigurationRange__Group__615775 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__7_in_rule__ModelVariableConfigurationRange__Group__615778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__MinValueAssignment_6_in_rule__ModelVariableConfigurationRange__Group__6__Impl15805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__7__Impl_in_rule__ModelVariableConfigurationRange__Group__715835 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__8_in_rule__ModelVariableConfigurationRange__Group__715838 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__ModelVariableConfigurationRange__Group__7__Impl15866 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__8__Impl_in_rule__ModelVariableConfigurationRange__Group__815897 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__9_in_rule__ModelVariableConfigurationRange__Group__815900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__MaxValueAssignment_8_in_rule__ModelVariableConfigurationRange__Group__8__Impl15927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__9__Impl_in_rule__ModelVariableConfigurationRange__Group__915957 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__10_in_rule__ModelVariableConfigurationRange__Group__915960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__ModelVariableConfigurationRange__Group__9__Impl15988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__10__Impl_in_rule__ModelVariableConfigurationRange__Group__1016019 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__11_in_rule__ModelVariableConfigurationRange__Group__1016022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10_in_rule__ModelVariableConfigurationRange__Group__10__Impl16049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__11__Impl_in_rule__ModelVariableConfigurationRange__Group__1116079 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ModelVariableConfigurationRange__Group__11__Impl16107 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__0__Impl_in_rule__ModelEntityConfigurationRange__Group__016162 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__1_in_rule__ModelEntityConfigurationRange__Group__016165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rule__ModelEntityConfigurationRange__Group__0__Impl16193 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__1__Impl_in_rule__ModelEntityConfigurationRange__Group__116224 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__2_in_rule__ModelEntityConfigurationRange__Group__116227 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__IdAssignment_1_in_rule__ModelEntityConfigurationRange__Group__1__Impl16254 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__2__Impl_in_rule__ModelEntityConfigurationRange__Group__216284 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__3_in_rule__ModelEntityConfigurationRange__Group__216287 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__ModelEntityConfigurationRange__Group__2__Impl16315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__3__Impl_in_rule__ModelEntityConfigurationRange__Group__316346 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__4_in_rule__ModelEntityConfigurationRange__Group__316349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__ModelEntityConfigurationRange__Group__3__Impl16377 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__4__Impl_in_rule__ModelEntityConfigurationRange__Group__416408 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__5_in_rule__ModelEntityConfigurationRange__Group__416411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__NameAssignment_4_in_rule__ModelEntityConfigurationRange__Group__4__Impl16438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__5__Impl_in_rule__ModelEntityConfigurationRange__Group__516468 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__6_in_rule__ModelEntityConfigurationRange__Group__516471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__ModelEntityConfigurationRange__Group__5__Impl16499 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__6__Impl_in_rule__ModelEntityConfigurationRange__Group__616530 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__7_in_rule__ModelEntityConfigurationRange__Group__616533 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6_in_rule__ModelEntityConfigurationRange__Group__6__Impl16560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__7__Impl_in_rule__ModelEntityConfigurationRange__Group__716590 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002400L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__8_in_rule__ModelEntityConfigurationRange__Group__716593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_71_in_rule__ModelEntityConfigurationRange__Group__7__Impl16621 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__8__Impl_in_rule__ModelEntityConfigurationRange__Group__816652 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__9_in_rule__ModelEntityConfigurationRange__Group__816655 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8_in_rule__ModelEntityConfigurationRange__Group__8__Impl16682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__9__Impl_in_rule__ModelEntityConfigurationRange__Group__916712 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ModelEntityConfigurationRange__Group__9__Impl16740 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__016791 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__016794 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EDouble__Group__0__Impl16823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__116856 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__116859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl16887 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__216918 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__216921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_73_in_rule__EDouble__Group__2__Impl16949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__316980 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__316983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl17010 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__417039 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl17066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__017107 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__017110 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl17137 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__117167 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__117170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EDouble__Group_4__1__Impl17199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__217232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl17259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__0__Impl_in_rule__PropertyRange__Group__017294 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__1_in_rule__PropertyRange__Group__017297 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_74_in_rule__PropertyRange__Group__0__Impl17325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__1__Impl_in_rule__PropertyRange__Group__117356 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__2_in_rule__PropertyRange__Group__117359 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__PropertyRange__Group__1__Impl17387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__2__Impl_in_rule__PropertyRange__Group__217418 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__3_in_rule__PropertyRange__Group__217421 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__PropertyRange__Group__2__Impl17449 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__3__Impl_in_rule__PropertyRange__Group__317480 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__4_in_rule__PropertyRange__Group__317483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__MinValueConstraintAssignment_3_in_rule__PropertyRange__Group__3__Impl17510 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__4__Impl_in_rule__PropertyRange__Group__417540 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__5_in_rule__PropertyRange__Group__417543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_76_in_rule__PropertyRange__Group__4__Impl17571 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__5__Impl_in_rule__PropertyRange__Group__517602 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__6_in_rule__PropertyRange__Group__517605 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__MaxValueConstraintAssignment_5_in_rule__PropertyRange__Group__5__Impl17632 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyRange__Group__6__Impl_in_rule__PropertyRange__Group__617662 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__PropertyRange__Group__6__Impl17690 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__0__Impl_in_rule__SetOfConfigurations__Group__017735 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__1_in_rule__SetOfConfigurations__Group__017738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_77_in_rule__SetOfConfigurations__Group__0__Impl17766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__1__Impl_in_rule__SetOfConfigurations__Group__117797 = new BitSet(new long[]{0x0000000000000000L,0x000000000000C000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__2_in_rule__SetOfConfigurations__Group__117800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__SetOfConfigurations__Group__1__Impl17828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__2__Impl_in_rule__SetOfConfigurations__Group__217859 = new BitSet(new long[]{0x0000000000000000L,0x000000000000C000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__3_in_rule__SetOfConfigurations__Group__217862 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__0_in_rule__SetOfConfigurations__Group__2__Impl17889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__3__Impl_in_rule__SetOfConfigurations__Group__317920 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__4_in_rule__SetOfConfigurations__Group__317923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_78_in_rule__SetOfConfigurations__Group__3__Impl17951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__4__Impl_in_rule__SetOfConfigurations__Group__417982 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__5_in_rule__SetOfConfigurations__Group__417985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__ValueConstraintAssignment_4_in_rule__SetOfConfigurations__Group__4__Impl18012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__5__Impl_in_rule__SetOfConfigurations__Group__518042 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__SetOfConfigurations__Group__5__Impl18070 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__0__Impl_in_rule__SetOfConfigurations__Group_2__018113 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__1_in_rule__SetOfConfigurations__Group_2__018116 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__SetOfConfigurations__Group_2__0__Impl18144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__1__Impl_in_rule__SetOfConfigurations__Group_2__118175 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__2_in_rule__SetOfConfigurations__Group_2__118178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__SetOfConfigurations__Group_2__1__Impl18206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__2__Impl_in_rule__SetOfConfigurations__Group_2__218237 = new BitSet(new long[]{0x0000000082000000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__3_in_rule__SetOfConfigurations__Group_2__218240 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_2_in_rule__SetOfConfigurations__Group_2__2__Impl18267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__3__Impl_in_rule__SetOfConfigurations__Group_2__318297 = new BitSet(new long[]{0x0000000082000000L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__4_in_rule__SetOfConfigurations__Group_2__318300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__0_in_rule__SetOfConfigurations__Group_2__3__Impl18327 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__4__Impl_in_rule__SetOfConfigurations__Group_2__418358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__SetOfConfigurations__Group_2__4__Impl18386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__0__Impl_in_rule__SetOfConfigurations__Group_2_3__018427 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__1_in_rule__SetOfConfigurations__Group_2_3__018430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__SetOfConfigurations__Group_2_3__0__Impl18458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__1__Impl_in_rule__SetOfConfigurations__Group_2_3__118489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_3_1_in_rule__SetOfConfigurations__Group_2_3__1__Impl18516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__0__Impl_in_rule__OclConstraint__Group__018550 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__1_in_rule__OclConstraint__Group__018553 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_80_in_rule__OclConstraint__Group__0__Impl18581 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__1__Impl_in_rule__OclConstraint__Group__118612 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__2_in_rule__OclConstraint__Group__118615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__NameAssignment_1_in_rule__OclConstraint__Group__1__Impl18642 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__2__Impl_in_rule__OclConstraint__Group__218672 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__3_in_rule__OclConstraint__Group__218675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__OclConstraint__Group__2__Impl18703 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__3__Impl_in_rule__OclConstraint__Group__318734 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__4_in_rule__OclConstraint__Group__318737 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_81_in_rule__OclConstraint__Group__3__Impl18765 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__4__Impl_in_rule__OclConstraint__Group__418796 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__5_in_rule__OclConstraint__Group__418799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__OclStringAssignment_4_in_rule__OclConstraint__Group__4__Impl18826 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OclConstraint__Group__5__Impl_in_rule__OclConstraint__Group__518856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__OclConstraint__Group__5__Impl18884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__0__Impl_in_rule__Objective__Group__018927 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Objective__Group__1_in_rule__Objective__Group__018930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_82_in_rule__Objective__Group__0__Impl18958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__1__Impl_in_rule__Objective__Group__118989 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__2_in_rule__Objective__Group__118992 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__IdAssignment_1_in_rule__Objective__Group__1__Impl19019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__2__Impl_in_rule__Objective__Group__219049 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__3_in_rule__Objective__Group__219052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Objective__Group__2__Impl19080 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__3__Impl_in_rule__Objective__Group__319111 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Objective__Group__4_in_rule__Objective__Group__319114 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__Objective__Group__3__Impl19142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__4__Impl_in_rule__Objective__Group__419173 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__5_in_rule__Objective__Group__419176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__NameAssignment_4_in_rule__Objective__Group__4__Impl19203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__5__Impl_in_rule__Objective__Group__519233 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__6_in_rule__Objective__Group__519236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_83_in_rule__Objective__Group__5__Impl19264 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__6__Impl_in_rule__Objective__Group__619295 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__7_in_rule__Objective__Group__619298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Objective__Group__6__Impl19326 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__7__Impl_in_rule__Objective__Group__719357 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__8_in_rule__Objective__Group__719360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__SpecificationsAssignment_7_in_rule__Objective__Group__7__Impl19387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__8__Impl_in_rule__Objective__Group__819417 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__9_in_rule__Objective__Group__819420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group_8__0_in_rule__Objective__Group__8__Impl19447 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__9__Impl_in_rule__Objective__Group__919478 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__10_in_rule__Objective__Group__919481 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Objective__Group__9__Impl19509 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__10__Impl_in_rule__Objective__Group__1019540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Objective__Group__10__Impl19568 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group_8__0__Impl_in_rule__Objective__Group_8__019621 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+        public static final BitSet FOLLOW_rule__Objective__Group_8__1_in_rule__Objective__Group_8__019624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__Objective__Group_8__0__Impl19652 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group_8__1__Impl_in_rule__Objective__Group_8__119683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__SpecificationsAssignment_8_1_in_rule__Objective__Group_8__1__Impl19710 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__0__Impl_in_rule__Event__Group__019744 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Event__Group__1_in_rule__Event__Group__019747 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_rule__Event__Group__0__Impl19775 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__1__Impl_in_rule__Event__Group__119806 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Event__Group__2_in_rule__Event__Group__119809 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__IdAssignment_1_in_rule__Event__Group__1__Impl19836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__2__Impl_in_rule__Event__Group__219866 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__Event__Group__3_in_rule__Event__Group__219869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Event__Group__2__Impl19897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__3__Impl_in_rule__Event__Group__319928 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Event__Group__4_in_rule__Event__Group__319931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__Event__Group__3__Impl19959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__4__Impl_in_rule__Event__Group__419990 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Event__Group__5_in_rule__Event__Group__419993 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__NameAssignment_4_in_rule__Event__Group__4__Impl20020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__Group__5__Impl_in_rule__Event__Group__520050 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Event__Group__5__Impl20078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__0__Impl_in_rule__WeightedTactic__Group__020121 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__1_in_rule__WeightedTactic__Group__020124 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_85_in_rule__WeightedTactic__Group__0__Impl20152 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__1__Impl_in_rule__WeightedTactic__Group__120183 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__2_in_rule__WeightedTactic__Group__120186 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__IdAssignment_1_in_rule__WeightedTactic__Group__1__Impl20213 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__2__Impl_in_rule__WeightedTactic__Group__220243 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__3_in_rule__WeightedTactic__Group__220246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__WeightedTactic__Group__2__Impl20274 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__3__Impl_in_rule__WeightedTactic__Group__320305 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__4_in_rule__WeightedTactic__Group__320308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__WeightedTactic__Group__3__Impl20336 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__4__Impl_in_rule__WeightedTactic__Group__420367 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__5_in_rule__WeightedTactic__Group__420370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__NameAssignment_4_in_rule__WeightedTactic__Group__4__Impl20397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__5__Impl_in_rule__WeightedTactic__Group__520427 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__6_in_rule__WeightedTactic__Group__520430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_86_in_rule__WeightedTactic__Group__5__Impl20458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__6__Impl_in_rule__WeightedTactic__Group__620489 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__7_in_rule__WeightedTactic__Group__620492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__CurrentWeightAssignment_6_in_rule__WeightedTactic__Group__6__Impl20519 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__7__Impl_in_rule__WeightedTactic__Group__720549 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__8_in_rule__WeightedTactic__Group__720552 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__WeightedTactic__Group__7__Impl20580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__8__Impl_in_rule__WeightedTactic__Group__820611 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__9_in_rule__WeightedTactic__Group__820614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__DefaultWeightAssignment_8_in_rule__WeightedTactic__Group__8__Impl20641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__9__Impl_in_rule__WeightedTactic__Group__920671 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__10_in_rule__WeightedTactic__Group__920674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_88_in_rule__WeightedTactic__Group__9__Impl20702 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__10__Impl_in_rule__WeightedTactic__Group__1020733 = new BitSet(new long[]{0x0000000000200000L,0x0000000002000000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__11_in_rule__WeightedTactic__Group__1020736 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__UsedTacticAssignment_10_in_rule__WeightedTactic__Group__10__Impl20763 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__11__Impl_in_rule__WeightedTactic__Group__1120793 = new BitSet(new long[]{0x0000000000200000L,0x0000000002000000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__12_in_rule__WeightedTactic__Group__1120796 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__0_in_rule__WeightedTactic__Group__11__Impl20823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__12__Impl_in_rule__WeightedTactic__Group__1220854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__WeightedTactic__Group__12__Impl20882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__0__Impl_in_rule__WeightedTactic__Group_11__020939 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__1_in_rule__WeightedTactic__Group_11__020942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_rule__WeightedTactic__Group_11__0__Impl20970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__1__Impl_in_rule__WeightedTactic__Group_11__121001 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__LastImpactAssignment_11_1_in_rule__WeightedTactic__Group_11__1__Impl21028 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__0__Impl_in_rule__WeightingFunction__Group__021062 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__1_in_rule__WeightingFunction__Group__021065 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_rule__WeightingFunction__Group__0__Impl21093 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__1__Impl_in_rule__WeightingFunction__Group__121124 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__2_in_rule__WeightingFunction__Group__121127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__IdAssignment_1_in_rule__WeightingFunction__Group__1__Impl21154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__2__Impl_in_rule__WeightingFunction__Group__221184 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__3_in_rule__WeightingFunction__Group__221187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__WeightingFunction__Group__2__Impl21215 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__3__Impl_in_rule__WeightingFunction__Group__321246 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__4_in_rule__WeightingFunction__Group__321249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__WeightingFunction__Group__3__Impl21277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__4__Impl_in_rule__WeightingFunction__Group__421308 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__5_in_rule__WeightingFunction__Group__421311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__NameAssignment_4_in_rule__WeightingFunction__Group__4__Impl21338 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__5__Impl_in_rule__WeightingFunction__Group__521368 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__6_in_rule__WeightingFunction__Group__521371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_91_in_rule__WeightingFunction__Group__5__Impl21399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__6__Impl_in_rule__WeightingFunction__Group__621430 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__7_in_rule__WeightingFunction__Group__621433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__WeightingFunctionImplementationAssignment_6_in_rule__WeightingFunction__Group__6__Impl21460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__7__Impl_in_rule__WeightingFunction__Group__721490 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__8_in_rule__WeightingFunction__Group__721493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_92_in_rule__WeightingFunction__Group__7__Impl21521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__8__Impl_in_rule__WeightingFunction__Group__821552 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__9_in_rule__WeightingFunction__Group__821555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__WeightingFunction__Group__8__Impl21583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__9__Impl_in_rule__WeightingFunction__Group__921614 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__10_in_rule__WeightingFunction__Group__921617 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_9_in_rule__WeightingFunction__Group__9__Impl21644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__10__Impl_in_rule__WeightingFunction__Group__1021674 = new BitSet(new long[]{0x0000000002200000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__11_in_rule__WeightingFunction__Group__1021677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_10__0_in_rule__WeightingFunction__Group__10__Impl21704 = new BitSet(new long[]{0x0000000002000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__11__Impl_in_rule__WeightingFunction__Group__1121735 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__12_in_rule__WeightingFunction__Group__1121738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__WeightingFunction__Group__11__Impl21766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__12__Impl_in_rule__WeightingFunction__Group__1221797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__WeightingFunction__Group__12__Impl21825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_10__0__Impl_in_rule__WeightingFunction__Group_10__021882 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_10__1_in_rule__WeightingFunction__Group_10__021885 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__WeightingFunction__Group_10__0__Impl21913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_10__1__Impl_in_rule__WeightingFunction__Group_10__121944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_10_1_in_rule__WeightingFunction__Group_10__1__Impl21971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__0__Impl_in_rule__Specification__Group__022005 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__Specification__Group__1_in_rule__Specification__Group__022008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_93_in_rule__Specification__Group__0__Impl22036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__1__Impl_in_rule__Specification__Group__122067 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__Specification__Group__2_in_rule__Specification__Group__122070 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__Specification__Group__1__Impl22098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__2__Impl_in_rule__Specification__Group__222129 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+    }
+
+    private static class FollowSets001 {
+        public static final BitSet FOLLOW_rule__Specification__Group__3_in_rule__Specification__Group__222132 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__Specification__Group__2__Impl22160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__3__Impl_in_rule__Specification__Group__322191 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__Specification__Group__4_in_rule__Specification__Group__322194 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__ValueAssignment_3_in_rule__Specification__Group__3__Impl22221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__4__Impl_in_rule__Specification__Group__422251 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__Specification__Group__5_in_rule__Specification__Group__422254 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_94_in_rule__Specification__Group__4__Impl22282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__5__Impl_in_rule__Specification__Group__522313 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__Specification__Group__6_in_rule__Specification__Group__522316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__RelationalOperatorAssignment_5_in_rule__Specification__Group__5__Impl22343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__6__Impl_in_rule__Specification__Group__622373 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Specification__Group__7_in_rule__Specification__Group__622376 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_rule__Specification__Group__6__Impl22404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__7__Impl_in_rule__Specification__Group__722435 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Specification__Group__8_in_rule__Specification__Group__722438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__MetricTypeAssignment_7_in_rule__Specification__Group__7__Impl22465 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Specification__Group__8__Impl_in_rule__Specification__Group__822495 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Specification__Group__8__Impl22523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__0__Impl_in_rule__MetricValue__Group__022576 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__1_in_rule__MetricValue__Group__022579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_96_in_rule__MetricValue__Group__0__Impl22607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__1__Impl_in_rule__MetricValue__Group__122638 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__2_in_rule__MetricValue__Group__122641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__IdAssignment_1_in_rule__MetricValue__Group__1__Impl22668 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__2__Impl_in_rule__MetricValue__Group__222698 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__3_in_rule__MetricValue__Group__222701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__MetricValue__Group__2__Impl22729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__3__Impl_in_rule__MetricValue__Group__322760 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__4_in_rule__MetricValue__Group__322763 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__MetricValue__Group__3__Impl22791 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__4__Impl_in_rule__MetricValue__Group__422822 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__5_in_rule__MetricValue__Group__422825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__NameAssignment_4_in_rule__MetricValue__Group__4__Impl22852 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__5__Impl_in_rule__MetricValue__Group__522882 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__6_in_rule__MetricValue__Group__522885 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__MetricValue__Group__5__Impl22913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__6__Impl_in_rule__MetricValue__Group__622944 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__7_in_rule__MetricValue__Group__622947 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__ValueAssignment_6_in_rule__MetricValue__Group__6__Impl22974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__7__Impl_in_rule__MetricValue__Group__723004 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__8_in_rule__MetricValue__Group__723007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_97_in_rule__MetricValue__Group__7__Impl23035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__8__Impl_in_rule__MetricValue__Group__823066 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__9_in_rule__MetricValue__Group__823069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__MeasuredEntityAssignment_8_in_rule__MetricValue__Group__8__Impl23096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__9__Impl_in_rule__MetricValue__Group__923126 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__10_in_rule__MetricValue__Group__923129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_rule__MetricValue__Group__9__Impl23157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__10__Impl_in_rule__MetricValue__Group__1023188 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__11_in_rule__MetricValue__Group__1023191 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__MetricTypeAssignment_10_in_rule__MetricValue__Group__10__Impl23218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MetricValue__Group__11__Impl_in_rule__MetricValue__Group__1123248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__MetricValue__Group__11__Impl23276 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__0__Impl_in_rule__WeightedMetric__Group__023333 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__1_in_rule__WeightedMetric__Group__023336 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_rule__WeightedMetric__Group__0__Impl23364 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__1__Impl_in_rule__WeightedMetric__Group__123395 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__2_in_rule__WeightedMetric__Group__123398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__IdAssignment_1_in_rule__WeightedMetric__Group__1__Impl23425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__2__Impl_in_rule__WeightedMetric__Group__223455 = new BitSet(new long[]{0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__3_in_rule__WeightedMetric__Group__223458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__WeightedMetric__Group__2__Impl23486 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__3__Impl_in_rule__WeightedMetric__Group__323517 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__4_in_rule__WeightedMetric__Group__323520 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__WeightedMetric__Group__3__Impl23548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__4__Impl_in_rule__WeightedMetric__Group__423579 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__5_in_rule__WeightedMetric__Group__423582 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__NameAssignment_4_in_rule__WeightedMetric__Group__4__Impl23609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__5__Impl_in_rule__WeightedMetric__Group__523639 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000300L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__6_in_rule__WeightedMetric__Group__523642 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_99_in_rule__WeightedMetric__Group__5__Impl23670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__6__Impl_in_rule__WeightedMetric__Group__623701 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__7_in_rule__WeightedMetric__Group__623704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__WeightAssignment_6_in_rule__WeightedMetric__Group__6__Impl23731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__7__Impl_in_rule__WeightedMetric__Group__723761 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__8_in_rule__WeightedMetric__Group__723764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_rule__WeightedMetric__Group__7__Impl23792 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__8__Impl_in_rule__WeightedMetric__Group__823823 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__9_in_rule__WeightedMetric__Group__823826 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__MetricTypeAssignment_8_in_rule__WeightedMetric__Group__8__Impl23853 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__9__Impl_in_rule__WeightedMetric__Group__923883 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__WeightedMetric__Group__9__Impl23911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationProcess__IdAssignment_123967 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationProcess__NameAssignment_423998 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_724029 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_8_124060 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_1224091 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_13_124122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_1724153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_18_124184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_224215 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_3_124246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_rule__AdaptationProcess__GoalAssignment_2224277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImportDeclaration_in_rule__AdaptationProcess__ImportDeclarationAssignment_2324308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__IdAssignment_124339 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__NameAssignment_424370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_224405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_3_124444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__OutputParamAssignment_6_124483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__Tactic__ImplementedPlanAssignment_824518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__IdAssignment_124549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__NameAssignment_424580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__OutputParamAssignment_5_124615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_224654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_3_124693 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__ReferredAdaptationPointAssignment_824732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_rule__Action__AdaptationActionOperationAssignment_1024767 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__IdAssignment_124798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__NameAssignment_424829 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__ObjectiveAssignment_624864 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEvent_in_rule__Strategy__TriggeringEventsAssignment_824899 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_1124930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_12_124961 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_rule__Strategy__WeightingFunctionAssignment_1524992 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_125023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__TypeAssignment_425054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__ValueAssignment_625085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__OverallGoal__DescriptionAssignment_325116 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_625147 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_7_125178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ImportDeclaration__ImportURIAssignment_125209 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationPlan__IdAssignment_125240 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationPlan__NameAssignment_425271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_225302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_3_125333 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__StartAction__IdAssignment_225364 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__StartAction__PredecessorAssignment_4_125399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__StartAction__SuccessorAssignment_5_125438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__StopAction__IdAssignment_225473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__StopAction__PredecessorAssignment_4_125508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__StopAction__SuccessorAssignment_5_125547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__IdAssignment_125582 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__PredecessorAssignment_3_125617 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__SuccessorAssignment_4_125656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__CounterAssignment_625695 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__LoopAction__BodyAssignment_825730 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__IdAssignment_125761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__ConditionAssignment_3_125792 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__PredecessorAssignment_4_125827 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__SuccessorAssignment_5_125866 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__ContextAssignment_6_125905 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionTrueBranchAssignment_825940 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionFalseBranchAssignment_1025971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__IdAssignment_126002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__PredecessorAssignment_3_126037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__SuccessorAssignment_4_126076 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__RefersToAssignment_626115 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationScope_in_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_326150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationDirection_in_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_526181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__IdAssignment_126212 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__NameAssignment_426243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MinValueAssignment_626274 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MaxValueAssignment_826305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_1026340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__IdAssignment_126375 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__NameAssignment_426406 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_626441 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleVariationType_in_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_826476 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MinValueConstraintAssignment_326507 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MaxValueConstraintAssignment_526538 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_226573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_3_126612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_rule__SetOfConfigurations__ValueConstraintAssignment_426647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__OclConstraint__NameAssignment_126678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__OclConstraint__OclStringAssignment_426709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__IdAssignment_126740 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__NameAssignment_426771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecification_in_rule__Objective__SpecificationsAssignment_726802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecification_in_rule__Objective__SpecificationsAssignment_8_126833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Event__IdAssignment_126864 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Event__NameAssignment_426895 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__IdAssignment_126926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__NameAssignment_426957 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedTactic__CurrentWeightAssignment_626988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedTactic__DefaultWeightAssignment_827019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__UsedTacticAssignment_1027054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__LastImpactAssignment_11_127093 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightingFunction__IdAssignment_127128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightingFunction__NameAssignment_427159 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightingFunction__WeightingFunctionImplementationAssignment_627190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_927221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_10_127252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__Specification__ValueAssignment_327283 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRelationalOperator_in_rule__Specification__RelationalOperatorAssignment_527314 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Specification__MetricTypeAssignment_727349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__IdAssignment_127395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__NameAssignment_427426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__MetricValue__ValueAssignment_627457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__MeasuredEntityAssignment_827492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__MetricTypeAssignment_1027531 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__IdAssignment_127570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__NameAssignment_427601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedMetric__WeightAssignment_627632 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__MetricTypeAssignment_827667 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+
+}
\ No newline at end of file
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/internal/StaLangActivator.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/internal/StaLangActivator.java
new file mode 100644
index 0000000000000000000000000000000000000000..3b433e8421c9cd56f2dbace0d2b4b3249bb3d0ae
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/ui/internal/StaLangActivator.java
@@ -0,0 +1,95 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
+ */
+public class StaLangActivator extends AbstractUIPlugin {
+	
+	public static final String EDU_KIT_IPD_DESCARTES_STALANG = "edu.kit.ipd.descartes.StaLang";
+	
+	private static final Logger logger = Logger.getLogger(StaLangActivator.class);
+	
+	private static StaLangActivator INSTANCE;
+	
+	private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+	
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		INSTANCE = this;
+	}
+	
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		injectors.clear();
+		INSTANCE = null;
+		super.stop(context);
+	}
+	
+	public static StaLangActivator getInstance() {
+		return INSTANCE;
+	}
+	
+	public Injector getInjector(String language) {
+		synchronized (injectors) {
+			Injector injector = injectors.get(language);
+			if (injector == null) {
+				injectors.put(language, injector = createInjector(language));
+			}
+			return injector;
+		}
+	}
+	
+	protected Injector createInjector(String language) {
+		try {
+			Module runtimeModule = getRuntimeModule(language);
+			Module sharedStateModule = getSharedStateModule();
+			Module uiModule = getUiModule(language);
+			Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+			return Guice.createInjector(mergedModule);
+		} catch (Exception e) {
+			logger.error("Failed to create injector for " + language);
+			logger.error(e.getMessage(), e);
+			throw new RuntimeException("Failed to create injector for " + language, e);
+		}
+	}
+
+	protected Module getRuntimeModule(String grammar) {
+		if (EDU_KIT_IPD_DESCARTES_STALANG.equals(grammar)) {
+			return new edu.kit.ipd.descartes.StaLangRuntimeModule();
+		}
+		
+		throw new IllegalArgumentException(grammar);
+	}
+	
+	protected Module getUiModule(String grammar) {
+		if (EDU_KIT_IPD_DESCARTES_STALANG.equals(grammar)) {
+			return new edu.kit.ipd.descartes.ui.StaLangUiModule(this);
+		}
+		
+		throw new IllegalArgumentException(grammar);
+	}
+	
+	protected Module getSharedStateModule() {
+		return new SharedStateModule();
+	}
+	
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/StaLangUiModule.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/StaLangUiModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..13e783825f8473f72fa5b36fe3c88acf9efc7d7b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/StaLangUiModule.java
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class StaLangUiModule extends edu.kit.ipd.descartes.ui.AbstractStaLangUiModule {
+	public StaLangUiModule(AbstractUIPlugin plugin) {
+		super(plugin);
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/contentassist/StaLangProposalProvider.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/contentassist/StaLangProposalProvider.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..886536666f9929a2e750e7bff74d2163ed5c3482
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/contentassist/StaLangProposalProvider.xtend
@@ -0,0 +1,12 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.contentassist
+
+import edu.kit.ipd.descartes.ui.contentassist.AbstractStaLangProposalProvider
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+class StaLangProposalProvider extends AbstractStaLangProposalProvider {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/labeling/StaLangDescriptionLabelProvider.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/labeling/StaLangDescriptionLabelProvider.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..2347d37482df0338033ef059a6c0d842fcaa40eb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/labeling/StaLangDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.ui.labeling
+
+//import org.eclipse.xtext.resource.IEObjectDescription
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class StaLangDescriptionLabelProvider extends org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider {
+
+	// Labels and icons can be computed like this:
+	
+//	override text(IEObjectDescription ele) {
+//		ele.name.toString
+//	}
+//	 
+//	override image(IEObjectDescription ele) {
+//		ele.EClass.name + '.gif'
+//	}	 
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/labeling/StaLangLabelProvider.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/labeling/StaLangLabelProvider.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..e13fbe27ad6d784df5e88b8b70bdbf4191ba143a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/labeling/StaLangLabelProvider.xtend
@@ -0,0 +1,29 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.ui.labeling
+
+import com.google.inject.Inject
+
+/**
+ * Provides labels for a EObjects.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class StaLangLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
+
+	@Inject
+	new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+		super(delegate);
+	}
+
+	// Labels and icons can be computed like this:
+	
+//	def text(Greeting ele) {
+//		'A greeting to ' + ele.name
+//	}
+//
+//	def image(Greeting ele) {
+//		'Greeting.gif'
+//	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/outline/StaLangOutlineTreeProvider.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/outline/StaLangOutlineTreeProvider.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..2c9f008edff72c46ad33a2ff91df0057a7d9df6e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/outline/StaLangOutlineTreeProvider.xtend
@@ -0,0 +1,13 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.ui.outline
+
+/**
+ * Customization of the default outline structure.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+class StaLangOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
+	
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/quickfix/StaLangQuickfixProvider.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/quickfix/StaLangQuickfixProvider.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..a76a23e90c9c6e2bf5ff6d5406f29b66366b0469
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src/edu/kit/ipd/descartes/ui/quickfix/StaLangQuickfixProvider.xtend
@@ -0,0 +1,26 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.ui.quickfix
+
+//import org.eclipse.xtext.ui.editor.quickfix.Fix
+//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
+//import org.eclipse.xtext.validation.Issue
+
+/**
+ * Custom quickfixes.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+class StaLangQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
+
+//	@Fix(MyDslValidator::INVALID_NAME)
+//	def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
+//		acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
+//			context |
+//			val xtextDocument = context.xtextDocument
+//			val firstLetter = xtextDocument.get(issue.offset, 1)
+//			xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
+//		]
+//	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/contentassist/.StaLangProposalProvider.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/contentassist/.StaLangProposalProvider.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..9afafe3a0e6ec6e4a5bfe074c0b90fa96b8dca0a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/contentassist/.StaLangProposalProvider.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/contentassist/StaLangProposalProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/contentassist/StaLangProposalProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..0433d92ec0a1bf0a73f85bc5bd5bb146a73a012f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/contentassist/StaLangProposalProvider.java
@@ -0,0 +1,13 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.contentassist;
+
+import edu.kit.ipd.descartes.ui.contentassist.AbstractStaLangProposalProvider;
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+@SuppressWarnings("all")
+public class StaLangProposalProvider extends AbstractStaLangProposalProvider {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/.StaLangDescriptionLabelProvider.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/.StaLangDescriptionLabelProvider.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..a3948594670d8b937b5335d35346b2cbb324f00b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/.StaLangDescriptionLabelProvider.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/.StaLangLabelProvider.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/.StaLangLabelProvider.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..551aaedf44d44854dabfbde72e21de30af7fa2c4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/.StaLangLabelProvider.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/StaLangDescriptionLabelProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/StaLangDescriptionLabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..12b1b8e13fdeb63a4c8860e9dd1322106c45e21f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/StaLangDescriptionLabelProvider.java
@@ -0,0 +1,15 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.labeling;
+
+import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+@SuppressWarnings("all")
+public class StaLangDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/StaLangLabelProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/StaLangLabelProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..90ed8e592df97f819ca932254ac9826571a1d7f7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/labeling/StaLangLabelProvider.java
@@ -0,0 +1,21 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.labeling;
+
+import com.google.inject.Inject;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
+
+/**
+ * Provides labels for a EObjects.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+@SuppressWarnings("all")
+public class StaLangLabelProvider extends DefaultEObjectLabelProvider {
+  @Inject
+  public StaLangLabelProvider(final AdapterFactoryLabelProvider delegate) {
+    super(delegate);
+  }
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/outline/.StaLangOutlineTreeProvider.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/outline/.StaLangOutlineTreeProvider.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..ec0069bcf124c8b2d9ec9eb302b59c49f6b88dd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/outline/.StaLangOutlineTreeProvider.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/outline/StaLangOutlineTreeProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/outline/StaLangOutlineTreeProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..98dce751acb7d74b7cec3d44edff79bd6f5987f6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/outline/StaLangOutlineTreeProvider.java
@@ -0,0 +1,15 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * Customization of the default outline structure.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+@SuppressWarnings("all")
+public class StaLangOutlineTreeProvider extends DefaultOutlineTreeProvider {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/quickfix/.StaLangQuickfixProvider.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/quickfix/.StaLangQuickfixProvider.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..3e8854cab0d7b517bf08ebbe5c906e1fa506cee5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/quickfix/.StaLangQuickfixProvider.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/quickfix/StaLangQuickfixProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/quickfix/StaLangQuickfixProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8e534fc1ecf7f4955423ed40eca0838a377c8fa7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/xtend-gen/edu/kit/ipd/descartes/ui/quickfix/StaLangQuickfixProvider.java
@@ -0,0 +1,15 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.ui.quickfix;
+
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
+
+/**
+ * Custom quickfixes.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+@SuppressWarnings("all")
+public class StaLangQuickfixProvider extends DefaultQuickfixProvider {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/.antlr-generator-3.2.0.jar b/edu.kit.ipd.descartes.mm.adaptation.sta/.antlr-generator-3.2.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..56240aea90aff9710817345828e8e8c8afea909b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta/.antlr-generator-3.2.0.jar differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/.classpath b/edu.kit.ipd.descartes.mm.adaptation.sta/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..406ca4abdc68e88484ba4d3c6294fa9bc391cdb3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
+	<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="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/.project b/edu.kit.ipd.descartes.mm.adaptation.sta/.project
new file mode 100644
index 0000000000000000000000000000000000000000..ebc66ec08f65f7dd46b4e991ede30bd6d2572c8b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.adaptation.sta</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/.settings/org.eclipse.core.resources.prefs b/edu.kit.ipd.descartes.mm.adaptation.sta/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.adaptation.sta/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..363554d7f0551fb1f807201364b6af2015eb4790
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/META-INF/MANIFEST.MF
@@ -0,0 +1,30 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: edu.kit.ipd.descartes.mm.adaptation.sta
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.adaptation.sta; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;visibility:=reexport,
+ org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
+ org.eclipse.xtext.generator;resolution:=optional,
+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
+ org.eclipse.emf.codegen.ecore;resolution:=optional,
+ org.eclipse.emf.mwe.utils;resolution:=optional,
+ org.eclipse.emf.mwe2.launch;resolution:=optional,
+ edu.kit.ipd.descartes.mm.adaptation,
+ org.eclipse.xtext.util,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types
+Import-Package: org.apache.log4j,
+ org.eclipse.xtext.xbase.lib
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: edu.kit.ipd.descartes,
+ edu.kit.ipd.descartes.services,
+ edu.kit.ipd.descartes.serializer,
+ edu.kit.ipd.descartes.parser.antlr,
+ edu.kit.ipd.descartes.parser.antlr.internal,
+ edu.kit.ipd.descartes.validation,
+ edu.kit.ipd.descartes.scoping,
+ edu.kit.ipd.descartes.generator,
+ edu.kit.ipd.descartes.formatting
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/build.properties b/edu.kit.ipd.descartes.mm.adaptation.sta/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..31255ed05bc1242430be9f3e44440c2e42921649
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+          src-gen/,\
+          xtend-gen/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
\ No newline at end of file
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/AbstractStaLangRuntimeModule.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/AbstractStaLangRuntimeModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..ffd6bb1bf1c1451ee8d0937972b896affc653679
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/AbstractStaLangRuntimeModule.java
@@ -0,0 +1,157 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {edu.kit.ipd.descartes.StaLangRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractStaLangRuntimeModule extends DefaultRuntimeModule {
+
+	protected Properties properties = null;
+
+	@Override
+	public void configure(Binder binder) {
+		properties = tryBindProperties(binder, "edu/kit/ipd/descartes/StaLang.properties");
+		super.configure(binder);
+	}
+	
+	public void configureLanguageName(Binder binder) {
+		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("edu.kit.ipd.descartes.StaLang");
+	}
+	
+	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("staLang");
+	}
+	
+	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+		return edu.kit.ipd.descartes.services.StaLangGrammarAccess.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment
+	public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
+		return org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+		return edu.kit.ipd.descartes.serializer.StaLangSemanticSequencer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+		return edu.kit.ipd.descartes.serializer.StaLangSyntacticSequencer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+	public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+		return org.eclipse.xtext.serializer.impl.Serializer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+		return edu.kit.ipd.descartes.parser.antlr.StaLangParser.class;
+	}
+
+	// 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 org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+		return edu.kit.ipd.descartes.parser.antlr.StaLangAntlrTokenFileProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+		return edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangLexer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public com.google.inject.Provider<edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangLexer> provideInternalStaLangLexer() {
+		return org.eclipse.xtext.parser.antlr.LexerProvider.create(edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangLexer.class);
+	}
+
+	// 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(edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangLexer.class);
+	}
+
+	// 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;
+	}
+
+	// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends edu.kit.ipd.descartes.validation.StaLangJavaValidator> bindStaLangJavaValidator() {
+		return edu.kit.ipd.descartes.validation.StaLangJavaValidator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+	public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+		return edu.kit.ipd.descartes.scoping.StaLangScopeProvider.class;
+	}
+
+	// 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.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+	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
+	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+		return org.eclipse.xtext.naming.SimpleNameProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+		return edu.kit.ipd.descartes.generator.StaLangGenerator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+		return edu.kit.ipd.descartes.formatting.StaLangFormatter.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/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/StaLang.xtextbin b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/StaLang.xtextbin
new file mode 100644
index 0000000000000000000000000000000000000000..f0d8df61596736fc062384d5e95e7e6c7e74bff6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/StaLang.xtextbin differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/StaLangStandaloneSetupGenerated.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/StaLangStandaloneSetupGenerated.java
new file mode 100644
index 0000000000000000000000000000000000000000..94e23b1e3de6056966528e6e373505f08719422c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/StaLangStandaloneSetupGenerated.java
@@ -0,0 +1,42 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class StaLangStandaloneSetupGenerated implements ISetup {
+
+	public Injector createInjectorAndDoEMFRegistration() {
+		org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+		Injector injector = createInjector();
+		register(injector);
+		return injector;
+	}
+	
+	public Injector createInjector() {
+		return Guice.createInjector(new edu.kit.ipd.descartes.StaLangRuntimeModule());
+	}
+	
+	public void register(Injector injector) {
+
+		org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+		org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("staLang", resourceFactory);
+		org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("staLang", serviceProvider);
+		
+
+
+
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/StaLangAntlrTokenFileProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/StaLangAntlrTokenFileProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a10de83dd9b9a022a251d1eaa08e2f7165eb0eb1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/StaLangAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class StaLangAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+	
+	public InputStream getAntlrTokenFile() {
+		ClassLoader classLoader = getClass().getClassLoader();
+    	return classLoader.getResourceAsStream("edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.tokens");
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/StaLangParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/StaLangParser.java
new file mode 100644
index 0000000000000000000000000000000000000000..3fb59a625a590a76d6d24678e9206d866b445cb4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/StaLangParser.java
@@ -0,0 +1,39 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+
+public class StaLangParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+	
+	@Inject
+	private StaLangGrammarAccess grammarAccess;
+	
+	@Override
+	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+	}
+	
+	@Override
+	protected edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangParser createParser(XtextTokenStream stream) {
+		return new edu.kit.ipd.descartes.parser.antlr.internal.InternalStaLangParser(stream, getGrammarAccess());
+	}
+	
+	@Override 
+	protected String getDefaultRuleName() {
+		return "AdaptationProcess";
+	}
+	
+	public StaLangGrammarAccess getGrammarAccess() {
+		return this.grammarAccess;
+	}
+	
+	public void setGrammarAccess(StaLangGrammarAccess grammarAccess) {
+		this.grammarAccess = grammarAccess;
+	}
+	
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g
new file mode 100644
index 0000000000000000000000000000000000000000..d63b53e9e65e5a31b40585315f814ecc6ae4f51d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g
@@ -0,0 +1,3658 @@
+/*
+* generated by Xtext
+*/
+grammar InternalStaLang;
+
+options {
+	superClass=AbstractInternalAntlrParser;
+	
+}
+
+@lexer::header {
+package edu.kit.ipd.descartes.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;
+}
+
+@parser::header {
+package edu.kit.ipd.descartes.parser.antlr.internal; 
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+
+}
+
+@parser::members {
+
+ 	private StaLangGrammarAccess grammarAccess;
+ 	
+    public InternalStaLangParser(TokenStream input, StaLangGrammarAccess grammarAccess) {
+        this(input);
+        this.grammarAccess = grammarAccess;
+        registerRules(grammarAccess.getGrammar());
+    }
+    
+    @Override
+    protected String getFirstRuleName() {
+    	return "AdaptationProcess";	
+   	}
+   	
+   	@Override
+   	protected StaLangGrammarAccess getGrammarAccess() {
+   		return grammarAccess;
+   	}
+}
+
+@rulecatch { 
+    catch (RecognitionException re) { 
+        recover(input,re); 
+        appendSkippedTokens();
+    } 
+}
+
+
+
+
+// Entry rule entryRuleAdaptationProcess
+entryRuleAdaptationProcess returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getAdaptationProcessRule()); }
+	 iv_ruleAdaptationProcess=ruleAdaptationProcess 
+	 { $current=$iv_ruleAdaptationProcess.current; } 
+	 EOF 
+;
+
+// Rule AdaptationProcess
+ruleAdaptationProcess returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='AdaptationProcess' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getAdaptationProcessAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='tactics' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5());
+    }
+	otherlv_6='{' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+	    }
+		lv_tactics_7_0=ruleTactic		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"tactics",
+        		lv_tactics_7_0, 
+        		"Tactic");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_8=',' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+	    }
+		lv_tactics_9_0=ruleTactic		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"tactics",
+        		lv_tactics_9_0, 
+        		"Tactic");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_10='}' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9());
+    }
+	otherlv_11='actions' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10());
+    }
+	otherlv_12='{' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
+	    }
+		lv_actions_13_0=ruleAction		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"actions",
+        		lv_actions_13_0, 
+        		"Action");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_14=',' 
+    {
+    	newLeafNode(otherlv_14, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+	    }
+		lv_actions_15_0=ruleAction		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"actions",
+        		lv_actions_15_0, 
+        		"Action");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_16='}' 
+    {
+    	newLeafNode(otherlv_16, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14());
+    }
+	otherlv_17='strategies' 
+    {
+    	newLeafNode(otherlv_17, grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15());
+    }
+	otherlv_18='{' 
+    {
+    	newLeafNode(otherlv_18, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+	    }
+		lv_strategies_19_0=ruleStrategy		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"strategies",
+        		lv_strategies_19_0, 
+        		"Strategy");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_20=',' 
+    {
+    	newLeafNode(otherlv_20, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+	    }
+		lv_strategies_21_0=ruleStrategy		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"strategies",
+        		lv_strategies_21_0, 
+        		"Strategy");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_22='}' 
+    {
+    	newLeafNode(otherlv_22, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19());
+    }
+(	otherlv_23='parameters' 
+    {
+    	newLeafNode(otherlv_23, grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0());
+    }
+	otherlv_24='{' 
+    {
+    	newLeafNode(otherlv_24, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+	    }
+		lv_parameters_25_0=ruleParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"parameters",
+        		lv_parameters_25_0, 
+        		"Parameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_26=',' 
+    {
+    	newLeafNode(otherlv_26, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+	    }
+		lv_parameters_27_0=ruleParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		add(
+       			$current, 
+       			"parameters",
+        		lv_parameters_27_0, 
+        		"Parameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_28='}' 
+    {
+    	newLeafNode(otherlv_28, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4());
+    }
+)?	otherlv_29='goal' 
+    {
+    	newLeafNode(otherlv_29, grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); 
+	    }
+		lv_goal_30_0=ruleOverallGoal		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		set(
+       			$current, 
+       			"goal",
+        		lv_goal_30_0, 
+        		"OverallGoal");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getImportDeclarationImportDeclarationParserRuleCall_23_0()); 
+	    }
+		lv_importDeclaration_31_0=ruleImportDeclaration		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+	        }
+       		set(
+       			$current, 
+       			"importDeclaration",
+        		lv_importDeclaration_31_0, 
+        		"ImportDeclaration");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?	otherlv_32='}' 
+    {
+    	newLeafNode(otherlv_32, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_24());
+    }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleAbstractControlFlowElement
+entryRuleAbstractControlFlowElement returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getAbstractControlFlowElementRule()); }
+	 iv_ruleAbstractControlFlowElement=ruleAbstractControlFlowElement 
+	 { $current=$iv_ruleAbstractControlFlowElement.current; } 
+	 EOF 
+;
+
+// Rule AbstractControlFlowElement
+ruleAbstractControlFlowElement returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
+    }
+    this_StartAction_0=ruleStartAction
+    { 
+        $current = $this_StartAction_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
+    }
+    this_StopAction_1=ruleStopAction
+    { 
+        $current = $this_StopAction_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
+    }
+    this_LoopAction_2=ruleLoopAction
+    { 
+        $current = $this_LoopAction_2.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
+    }
+    this_BranchAction_3=ruleBranchAction
+    { 
+        $current = $this_BranchAction_3.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
+    }
+    this_ActionReference_4=ruleActionReference
+    { 
+        $current = $this_ActionReference_4.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleVariationType
+entryRuleVariationType returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getVariationTypeRule()); }
+	 iv_ruleVariationType=ruleVariationType 
+	 { $current=$iv_ruleVariationType.current; } 
+	 EOF 
+;
+
+// Rule VariationType
+ruleVariationType returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); 
+    }
+    this_PropertyRange_0=rulePropertyRange
+    { 
+        $current = $this_PropertyRange_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); 
+    }
+    this_SetOfConfigurations_1=ruleSetOfConfigurations
+    { 
+        $current = $this_SetOfConfigurations_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEString
+entryRuleEString returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEStringRule()); } 
+	 iv_ruleEString=ruleEString 
+	 { $current=$iv_ruleEString.current.getText(); }  
+	 EOF 
+;
+
+// Rule EString
+ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(    this_STRING_0=RULE_STRING    {
+		$current.merge(this_STRING_0);
+    }
+
+    { 
+    newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+    }
+
+    |    this_ID_1=RULE_ID    {
+		$current.merge(this_ID_1);
+    }
+
+    { 
+    newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleTactic
+entryRuleTactic returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getTacticRule()); }
+	 iv_ruleTactic=ruleTactic 
+	 { $current=$iv_ruleTactic.current; } 
+	 EOF 
+;
+
+// Rule Tactic
+ruleTactic returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Tactic' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getTacticAccess().getTacticKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getTacticAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5='inputParams' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getTacticAccess().getInputParamsKeyword_5_0());
+    }
+	otherlv_6='(' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getTacticRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_8=',' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getTacticAccess().getCommaKeyword_5_3_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getTacticRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_10=')' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4());
+    }
+)?(	otherlv_11='outputParam' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getTacticAccess().getOutputParamKeyword_6_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getTacticRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_13='implementedPlan' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getTacticAccess().getImplementedPlanKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+	    }
+		lv_implementedPlan_14_0=ruleAdaptationPlan		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"implementedPlan",
+        		lv_implementedPlan_14_0, 
+        		"AdaptationPlan");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_15='}' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAction
+entryRuleAction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getActionRule()); }
+	 iv_ruleAction=ruleAction 
+	 { $current=$iv_ruleAction.current; } 
+	 EOF 
+;
+
+// Rule Action
+ruleAction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Action' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getActionAccess().getActionKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getActionRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getActionRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5='outputParam' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getActionAccess().getOutputParamKeyword_5_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_7='inputParams' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getActionAccess().getInputParamsKeyword_6_0());
+    }
+	otherlv_8='(' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_10=',' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getActionAccess().getCommaKeyword_6_3_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_12=')' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4());
+    }
+)?	otherlv_13='referredAdaptationPoint' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_15='adaptationActionOperation' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
+	    }
+		lv_adaptationActionOperation_16_0=ruleAdaptationActionOperation		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getActionRule());
+	        }
+       		set(
+       			$current, 
+       			"adaptationActionOperation",
+        		lv_adaptationActionOperation_16_0, 
+        		"AdaptationActionOperation");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_17='}' 
+    {
+    	newLeafNode(otherlv_17, grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStrategy
+entryRuleStrategy returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getStrategyRule()); }
+	 iv_ruleStrategy=ruleStrategy 
+	 { $current=$iv_ruleStrategy.current; } 
+	 EOF 
+;
+
+// Rule Strategy
+ruleStrategy returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Strategy' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getStrategyAccess().getStrategyKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getStrategyAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='objective' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getStrategyAccess().getObjectiveKeyword_5());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getStrategyRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='triggeringEvents' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
+	    }
+		lv_triggeringEvents_8_0=ruleEvent		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
+	        }
+       		set(
+       			$current, 
+       			"triggeringEvents",
+        		lv_triggeringEvents_8_0, 
+        		"Event");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='tactics' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getStrategyAccess().getTacticsKeyword_9());
+    }
+	otherlv_10='{' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
+	    }
+		lv_tactics_11_0=ruleWeightedTactic		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
+	        }
+       		add(
+       			$current, 
+       			"tactics",
+        		lv_tactics_11_0, 
+        		"WeightedTactic");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_12=',' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getStrategyAccess().getCommaKeyword_12_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
+	    }
+		lv_tactics_13_0=ruleWeightedTactic		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
+	        }
+       		add(
+       			$current, 
+       			"tactics",
+        		lv_tactics_13_0, 
+        		"WeightedTactic");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_14='}' 
+    {
+    	newLeafNode(otherlv_14, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13());
+    }
+	otherlv_15='weightingFunction' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
+	    }
+		lv_weightingFunction_16_0=ruleWeightingFunction		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
+	        }
+       		set(
+       			$current, 
+       			"weightingFunction",
+        		lv_weightingFunction_16_0, 
+        		"WeightingFunction");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_17='}' 
+    {
+    	newLeafNode(otherlv_17, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleParameter
+entryRuleParameter returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getParameterRule()); }
+	 iv_ruleParameter=ruleParameter 
+	 { $current=$iv_ruleParameter.current; } 
+	 EOF 
+;
+
+// Rule Parameter
+ruleParameter returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Parameter' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='type' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getTypeKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
+	    }
+		lv_type_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"type",
+        		lv_type_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='value' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getValueKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0()); 
+	    }
+		lv_value_6_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_6_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='}' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOverallGoal
+entryRuleOverallGoal returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOverallGoalRule()); }
+	 iv_ruleOverallGoal=ruleOverallGoal 
+	 { $current=$iv_ruleOverallGoal.current; } 
+	 EOF 
+;
+
+// Rule OverallGoal
+ruleOverallGoal returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='OverallGoal' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0());
+    }
+	otherlv_1='{' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1());
+    }
+	otherlv_2='description' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+	    }
+		lv_description_3_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOverallGoalRule());
+	        }
+       		set(
+       			$current, 
+       			"description",
+        		lv_description_3_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='objectives' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4());
+    }
+	otherlv_5='{' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+	    }
+		lv_objectives_6_0=ruleObjective		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOverallGoalRule());
+	        }
+       		add(
+       			$current, 
+       			"objectives",
+        		lv_objectives_6_0, 
+        		"Objective");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_7=',' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+	    }
+		lv_objectives_8_0=ruleObjective		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOverallGoalRule());
+	        }
+       		add(
+       			$current, 
+       			"objectives",
+        		lv_objectives_8_0, 
+        		"Objective");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_9='}' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8());
+    }
+	otherlv_10='}' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleImportDeclaration
+entryRuleImportDeclaration returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getImportDeclarationRule()); }
+	 iv_ruleImportDeclaration=ruleImportDeclaration 
+	 { $current=$iv_ruleImportDeclaration.current; } 
+	 EOF 
+;
+
+// Rule ImportDeclaration
+ruleImportDeclaration returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='ImportDeclaration' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getImportDeclarationKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0()); 
+	    }
+		lv_importURI_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getImportDeclarationRule());
+	        }
+       		set(
+       			$current, 
+       			"importURI",
+        		lv_importURI_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleAdaptationPlan
+entryRuleAdaptationPlan returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getAdaptationPlanRule()); }
+	 iv_ruleAdaptationPlan=ruleAdaptationPlan 
+	 { $current=$iv_ruleAdaptationPlan.current; } 
+	 EOF 
+;
+
+// Rule AdaptationPlan
+ruleAdaptationPlan returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='AdaptationPlan' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getAdaptationPlanAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5='steps' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0());
+    }
+	otherlv_6='{' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
+	    }
+		lv_steps_7_0=ruleAbstractControlFlowElement		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+	        }
+       		add(
+       			$current, 
+       			"steps",
+        		lv_steps_7_0, 
+        		"AbstractControlFlowElement");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_8=',' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
+	    }
+		lv_steps_9_0=ruleAbstractControlFlowElement		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+	        }
+       		add(
+       			$current, 
+       			"steps",
+        		lv_steps_9_0, 
+        		"AbstractControlFlowElement");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_10='}' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4());
+    }
+)?	otherlv_11='}' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStartAction
+entryRuleStartAction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getStartActionRule()); }
+	 iv_ruleStartAction=ruleStartAction 
+	 { $current=$iv_ruleStartAction.current; } 
+	 EOF 
+;
+
+// Rule StartAction
+ruleStartAction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getStartActionAccess().getStartActionAction_0(),
+            $current);
+    }
+)	otherlv_1='StartAction' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
+	    }
+		lv_id_2_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStartActionRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_2_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_3='{' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3());
+    }
+(	otherlv_4='predecessor' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getStartActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_6='successor' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getStartActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_8='}' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStopAction
+entryRuleStopAction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getStopActionRule()); }
+	 iv_ruleStopAction=ruleStopAction 
+	 { $current=$iv_ruleStopAction.current; } 
+	 EOF 
+;
+
+// Rule StopAction
+ruleStopAction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getStopActionAccess().getStopActionAction_0(),
+            $current);
+    }
+)	otherlv_1='StopAction' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
+	    }
+		lv_id_2_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getStopActionRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_2_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_3='{' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3());
+    }
+(	otherlv_4='predecessor' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getStopActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_6='successor' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getStopActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_8='}' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleLoopAction
+entryRuleLoopAction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getLoopActionRule()); }
+	 iv_ruleLoopAction=ruleLoopAction 
+	 { $current=$iv_ruleLoopAction.current; } 
+	 EOF 
+;
+
+// Rule LoopAction
+ruleLoopAction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='LoopAction' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getLoopActionRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2());
+    }
+(	otherlv_3='predecessor' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getLoopActionAccess().getPredecessorKeyword_3_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getLoopActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_5='successor' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getLoopActionAccess().getSuccessorKeyword_4_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getLoopActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_7='counter' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getLoopActionAccess().getCounterKeyword_5());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getLoopActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getLoopActionAccess().getCounterParameterCrossReference_6_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='body' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getLoopActionAccess().getBodyKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
+	    }
+		lv_body_10_0=ruleAdaptationPlan		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getLoopActionRule());
+	        }
+       		set(
+       			$current, 
+       			"body",
+        		lv_body_10_0, 
+        		"AdaptationPlan");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_11='}' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleBranchAction
+entryRuleBranchAction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getBranchActionRule()); }
+	 iv_ruleBranchAction=ruleBranchAction 
+	 { $current=$iv_ruleBranchAction.current; } 
+	 EOF 
+;
+
+// Rule BranchAction
+ruleBranchAction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='BranchAction' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2());
+    }
+(	otherlv_3='condition' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getBranchActionAccess().getConditionKeyword_3_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
+	    }
+		lv_condition_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
+	        }
+       		set(
+       			$current, 
+       			"condition",
+        		lv_condition_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_5='predecessor' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getBranchActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_7='successor' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getBranchActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_9='context' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getContextKeyword_6_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getBranchActionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_11='conditionTrueBranch' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
+	    }
+		lv_conditionTrueBranch_12_0=ruleAdaptationPlan		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
+	        }
+       		set(
+       			$current, 
+       			"conditionTrueBranch",
+        		lv_conditionTrueBranch_12_0, 
+        		"AdaptationPlan");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_13='conditionFalseBranch' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
+	    }
+		lv_conditionFalseBranch_14_0=ruleAdaptationPlan		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getBranchActionRule());
+	        }
+       		set(
+       			$current, 
+       			"conditionFalseBranch",
+        		lv_conditionFalseBranch_14_0, 
+        		"AdaptationPlan");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_15='}' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleActionReference
+entryRuleActionReference returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getActionReferenceRule()); }
+	 iv_ruleActionReference=ruleActionReference 
+	 { $current=$iv_ruleActionReference.current; } 
+	 EOF 
+;
+
+// Rule ActionReference
+ruleActionReference returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='ActionReference' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getActionReferenceRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2());
+    }
+(	otherlv_3='predecessor' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionReferenceRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_5='successor' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionReferenceRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_7='refersTo' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getActionReferenceAccess().getRefersToKeyword_5());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getActionReferenceRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='}' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAdaptationActionOperation
+entryRuleAdaptationActionOperation returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getAdaptationActionOperationRule()); }
+	 iv_ruleAdaptationActionOperation=ruleAdaptationActionOperation 
+	 { $current=$iv_ruleAdaptationActionOperation.current; } 
+	 EOF 
+;
+
+// Rule AdaptationActionOperation
+ruleAdaptationActionOperation returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='AdaptationActionOperation' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0());
+    }
+	otherlv_1='{' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1());
+    }
+	otherlv_2='adaptationOperationScope' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
+	    }
+		lv_adaptationOperationScope_3_0=ruleAdaptationScope		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationActionOperationRule());
+	        }
+       		set(
+       			$current, 
+       			"adaptationOperationScope",
+        		lv_adaptationOperationScope_3_0, 
+        		"AdaptationScope");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='adaptationOperationDirection' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
+	    }
+		lv_adaptationOperationDirection_5_0=ruleAdaptationDirection		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getAdaptationActionOperationRule());
+	        }
+       		set(
+       			$current, 
+       			"adaptationOperationDirection",
+        		lv_adaptationOperationDirection_5_0, 
+        		"AdaptationDirection");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_6='}' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleModelVariableConfigurationRange
+entryRuleModelVariableConfigurationRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getModelVariableConfigurationRangeRule()); }
+	 iv_ruleModelVariableConfigurationRange=ruleModelVariableConfigurationRange 
+	 { $current=$iv_ruleModelVariableConfigurationRange.current; } 
+	 EOF 
+;
+
+// Rule ModelVariableConfigurationRange
+ruleModelVariableConfigurationRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='ModelVariableConfigurationRange' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='minValue' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
+	    }
+		lv_minValue_6_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"minValue",
+        		lv_minValue_6_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='maxValue' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
+	    }
+		lv_maxValue_8_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"maxValue",
+        		lv_maxValue_8_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='adaptableEntity' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelVariableConfigurationRangeRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_11='}' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleModelEntityConfigurationRange
+entryRuleModelEntityConfigurationRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getModelEntityConfigurationRangeRule()); }
+	 iv_ruleModelEntityConfigurationRange=ruleModelEntityConfigurationRange 
+	 { $current=$iv_ruleModelEntityConfigurationRange.current; } 
+	 EOF 
+;
+
+// Rule ModelEntityConfigurationRange
+ruleModelEntityConfigurationRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='ModelEntityConfigurationRange' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelEntityConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelEntityConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='adaptableEntity' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelEntityConfigurationRangeRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='variationPossibility' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
+	    }
+		lv_variationPossibility_8_0=ruleVariationType		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getModelEntityConfigurationRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"variationPossibility",
+        		lv_variationPossibility_8_0, 
+        		"VariationType");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='}' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEDouble
+entryRuleEDouble returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEDoubleRule()); } 
+	 iv_ruleEDouble=ruleEDouble 
+	 { $current=$iv_ruleEDouble.current.getText(); }  
+	 EOF 
+;
+
+// Rule EDouble
+ruleEDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+    }
+)?(    this_INT_1=RULE_INT    {
+		$current.merge(this_INT_1);
+    }
+
+    { 
+    newLeafNode(this_INT_1, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+    }
+)?
+	kw='.' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
+    }
+    this_INT_3=RULE_INT    {
+		$current.merge(this_INT_3);
+    }
+
+    { 
+    newLeafNode(this_INT_3, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+    }
+((
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
+    }
+
+    |
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
+    }
+)(
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+    }
+)?    this_INT_7=RULE_INT    {
+		$current.merge(this_INT_7);
+    }
+
+    { 
+    newLeafNode(this_INT_7, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+    }
+)?)
+    ;
+
+
+
+
+
+// Entry rule entryRulePropertyRange
+entryRulePropertyRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyRangeRule()); }
+	 iv_rulePropertyRange=rulePropertyRange 
+	 { $current=$iv_rulePropertyRange.current; } 
+	 EOF 
+;
+
+// Rule PropertyRange
+rulePropertyRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='PropertyRange' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0());
+    }
+	otherlv_1='{' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1());
+    }
+	otherlv_2='minValueConstraint' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
+	    }
+		lv_minValueConstraint_3_0=ruleOclConstraint		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"minValueConstraint",
+        		lv_minValueConstraint_3_0, 
+        		"OclConstraint");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='maxValueConstraint' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
+	    }
+		lv_maxValueConstraint_5_0=ruleOclConstraint		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"maxValueConstraint",
+        		lv_maxValueConstraint_5_0, 
+        		"OclConstraint");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_6='}' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSetOfConfigurations
+entryRuleSetOfConfigurations returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getSetOfConfigurationsRule()); }
+	 iv_ruleSetOfConfigurations=ruleSetOfConfigurations 
+	 { $current=$iv_ruleSetOfConfigurations.current; } 
+	 EOF 
+;
+
+// Rule SetOfConfigurations
+ruleSetOfConfigurations returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='SetOfConfigurations' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0());
+    }
+	otherlv_1='{' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1());
+    }
+(	otherlv_2='variants' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0());
+    }
+	otherlv_3='(' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getSetOfConfigurationsRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5=',' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getSetOfConfigurationsRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_7=')' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4());
+    }
+)?	otherlv_8='valueConstraint' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
+	    }
+		lv_valueConstraint_9_0=ruleOclConstraint		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getSetOfConfigurationsRule());
+	        }
+       		set(
+       			$current, 
+       			"valueConstraint",
+        		lv_valueConstraint_9_0, 
+        		"OclConstraint");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_10='}' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOclConstraint
+entryRuleOclConstraint returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOclConstraintRule()); }
+	 iv_ruleOclConstraint=ruleOclConstraint 
+	 { $current=$iv_ruleOclConstraint.current; } 
+	 EOF 
+;
+
+// Rule OclConstraint
+ruleOclConstraint returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='OclConstraint' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOclConstraintRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='oclString' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getOclConstraintAccess().getOclStringKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
+	    }
+		lv_oclString_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOclConstraintRule());
+	        }
+       		set(
+       			$current, 
+       			"oclString",
+        		lv_oclString_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='}' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAdaptationScope
+entryRuleAdaptationScope returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getAdaptationScopeRule()); } 
+	 iv_ruleAdaptationScope=ruleAdaptationScope 
+	 { $current=$iv_ruleAdaptationScope.current.getText(); }  
+	 EOF 
+;
+
+// Rule AdaptationScope
+ruleAdaptationScope returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='AdaptationScope' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleAdaptationDirection
+entryRuleAdaptationDirection returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getAdaptationDirectionRule()); } 
+	 iv_ruleAdaptationDirection=ruleAdaptationDirection 
+	 { $current=$iv_ruleAdaptationDirection.current.getText(); }  
+	 EOF 
+;
+
+// Rule AdaptationDirection
+ruleAdaptationDirection returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='AdaptationDirection' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getAdaptationDirectionAccess().getAdaptationDirectionKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleObjective
+entryRuleObjective returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getObjectiveRule()); }
+	 iv_ruleObjective=ruleObjective 
+	 { $current=$iv_ruleObjective.current; } 
+	 EOF 
+;
+
+// Rule Objective
+ruleObjective returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Objective' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getObjectiveAccess().getObjectiveKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getObjectiveRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getObjectiveAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getObjectiveRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='specifications' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getObjectiveAccess().getSpecificationsKeyword_5());
+    }
+	otherlv_6='{' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_6());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_7_0()); 
+	    }
+		lv_specifications_7_0=ruleSpecification		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getObjectiveRule());
+	        }
+       		add(
+       			$current, 
+       			"specifications",
+        		lv_specifications_7_0, 
+        		"Specification");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_8=',' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getObjectiveAccess().getCommaKeyword_8_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_8_1_0()); 
+	    }
+		lv_specifications_9_0=ruleSpecification		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getObjectiveRule());
+	        }
+       		add(
+       			$current, 
+       			"specifications",
+        		lv_specifications_9_0, 
+        		"Specification");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_10='}' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_9());
+    }
+	otherlv_11='}' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_10());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEvent
+entryRuleEvent returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEventRule()); }
+	 iv_ruleEvent=ruleEvent 
+	 { $current=$iv_ruleEvent.current; } 
+	 EOF 
+;
+
+// Rule Event
+ruleEvent returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Event' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEventAccess().getEventKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEventRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEventAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEventRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='}' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleWeightedTactic
+entryRuleWeightedTactic returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getWeightedTacticRule()); }
+	 iv_ruleWeightedTactic=ruleWeightedTactic 
+	 { $current=$iv_ruleWeightedTactic.current; } 
+	 EOF 
+;
+
+// Rule WeightedTactic
+ruleWeightedTactic returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='WeightedTactic' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getWeightedTacticAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='currentWeight' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
+	    }
+		lv_currentWeight_6_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"currentWeight",
+        		lv_currentWeight_6_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='defaultWeight' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
+	    }
+		lv_defaultWeight_8_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+	        }
+       		set(
+       			$current, 
+       			"defaultWeight",
+        		lv_defaultWeight_8_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='usedTactic' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getWeightedTacticRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_11='lastImpact' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getWeightedTacticRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_13='}' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleWeightingFunction
+entryRuleWeightingFunction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getWeightingFunctionRule()); }
+	 iv_ruleWeightingFunction=ruleWeightingFunction 
+	 { $current=$iv_ruleWeightingFunction.current; } 
+	 EOF 
+;
+
+// Rule WeightingFunction
+ruleWeightingFunction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='WeightingFunction' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getWeightingFunctionAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='weightingFunctionImplementation' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationEStringParserRuleCall_6_0()); 
+	    }
+		lv_weightingFunctionImplementation_6_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"weightingFunctionImplementation",
+        		lv_weightingFunctionImplementation_6_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='weightedMetrics' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_7());
+    }
+	otherlv_8='{' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_8());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_9_0()); 
+	    }
+		lv_weightedMetrics_9_0=ruleWeightedMetric		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+	        }
+       		add(
+       			$current, 
+       			"weightedMetrics",
+        		lv_weightedMetrics_9_0, 
+        		"WeightedMetric");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_10=',' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getWeightingFunctionAccess().getCommaKeyword_10_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_10_1_0()); 
+	    }
+		lv_weightedMetrics_11_0=ruleWeightedMetric		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+	        }
+       		add(
+       			$current, 
+       			"weightedMetrics",
+        		lv_weightedMetrics_11_0, 
+        		"WeightedMetric");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_12='}' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_11());
+    }
+	otherlv_13='}' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_12());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSpecification
+entryRuleSpecification returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getSpecificationRule()); }
+	 iv_ruleSpecification=ruleSpecification 
+	 { $current=$iv_ruleSpecification.current; } 
+	 EOF 
+;
+
+// Rule Specification
+ruleSpecification returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='Specification' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getSpecificationAccess().getSpecificationKeyword_0());
+    }
+	otherlv_1='{' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_1());
+    }
+	otherlv_2='value' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getSpecificationAccess().getValueKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0()); 
+	    }
+		lv_value_3_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getSpecificationRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_3_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='relationalOperator' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getSpecificationAccess().getRelationalOperatorKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0()); 
+	    }
+		lv_relationalOperator_5_0=ruleRelationalOperator		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getSpecificationRule());
+	        }
+       		set(
+       			$current, 
+       			"relationalOperator",
+        		lv_relationalOperator_5_0, 
+        		"RelationalOperator");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_6='metricType' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getSpecificationAccess().getMetricTypeKeyword_6());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getSpecificationRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeCrossReference_7_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_8='}' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_8());
+    }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleRelationalOperator
+entryRuleRelationalOperator returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getRelationalOperatorRule()); } 
+	 iv_ruleRelationalOperator=ruleRelationalOperator 
+	 { $current=$iv_ruleRelationalOperator.current.getText(); }  
+	 EOF 
+;
+
+// Rule RelationalOperator
+ruleRelationalOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='RelationalOperator' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getRelationalOperatorKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+
+
+
+
+// Entry rule entryRuleEDate
+entryRuleEDate returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEDateRule()); } 
+	 iv_ruleEDate=ruleEDate 
+	 { $current=$iv_ruleEDate.current.getText(); }  
+	 EOF 
+;
+
+// Rule EDate
+ruleEDate returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='EDate' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEDateAccess().getEDateKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleMetricValue
+entryRuleMetricValue returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getMetricValueRule()); }
+	 iv_ruleMetricValue=ruleMetricValue 
+	 { $current=$iv_ruleMetricValue.current; } 
+	 EOF 
+;
+
+// Rule MetricValue
+ruleMetricValue returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='MetricValue' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getMetricValueAccess().getMetricValueKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getMetricValueRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getMetricValueAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getMetricValueRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='value' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getMetricValueAccess().getValueKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
+	    }
+		lv_value_6_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getMetricValueRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_6_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='measuredEntity' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getMetricValueRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='metricType' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getMetricValueRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_11='}' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11());
+    }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleWeightedMetric
+entryRuleWeightedMetric returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getWeightedMetricRule()); }
+	 iv_ruleWeightedMetric=ruleWeightedMetric 
+	 { $current=$iv_ruleWeightedMetric.current; } 
+	 EOF 
+;
+
+// Rule WeightedMetric
+ruleWeightedMetric returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='WeightedMetric' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
+	    }
+		lv_id_1_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
+	        }
+       		set(
+       			$current, 
+       			"id",
+        		lv_id_1_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='name' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getWeightedMetricAccess().getNameKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
+	    }
+		lv_name_4_0=ruleEString		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"EString");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_5='weight' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getWeightedMetricAccess().getWeightKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+	    }
+		lv_weight_6_0=ruleEDouble		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
+	        }
+       		set(
+       			$current, 
+       			"weight",
+        		lv_weight_6_0, 
+        		"EDouble");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7='metricType' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getWeightedMetricRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+	    }
+		ruleEString		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_9='}' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9());
+    }
+)
+;
+
+
+
+
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.tokens b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.tokens
new file mode 100644
index 0000000000000000000000000000000000000000..9ddec5cc53dc9374b93e504d4ac03591ad030d0d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.tokens
@@ -0,0 +1,185 @@
+RULE_ID=5
+T__29=29
+T__28=28
+T__27=27
+T__26=26
+T__25=25
+T__24=24
+T__23=23
+T__22=22
+RULE_ANY_OTHER=10
+T__21=21
+T__20=20
+T__93=93
+T__19=19
+T__94=94
+T__91=91
+T__92=92
+T__16=16
+T__15=15
+T__90=90
+T__18=18
+T__17=17
+T__12=12
+T__11=11
+T__14=14
+T__13=13
+T__99=99
+T__98=98
+T__97=97
+T__96=96
+T__95=95
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__85=85
+T__84=84
+T__87=87
+T__86=86
+T__89=89
+T__88=88
+RULE_ML_COMMENT=7
+RULE_STRING=4
+T__71=71
+T__72=72
+T__70=70
+T__76=76
+T__75=75
+T__74=74
+T__73=73
+T__79=79
+T__78=78
+T__77=77
+T__68=68
+T__69=69
+T__66=66
+T__67=67
+T__64=64
+T__65=65
+T__62=62
+T__63=63
+T__61=61
+T__60=60
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__59=59
+RULE_INT=6
+T__50=50
+T__42=42
+T__43=43
+T__40=40
+T__41=41
+T__46=46
+T__47=47
+T__44=44
+T__45=45
+T__48=48
+T__49=49
+RULE_SL_COMMENT=8
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+RULE_WS=9
+'adaptationActionOperation'=29
+'adaptationOperationScope'=58
+'Objective'=80
+'counter'=48
+'conditionFalseBranch'=54
+'type'=35
+'Event'=82
+'e'=69
+'AdaptationPlan'=41
+'weightingFunction'=33
+'value'=36
+'maxValue'=62
+'minValueConstraint'=71
+'inputParams'=22
+'body'=49
+'defaultWeight'=85
+'currentWeight'=84
+'.'=67
+'adaptableEntity'=63
+'OclConstraint'=76
+'usedTactic'=86
+'objectives'=39
+'SetOfConfigurations'=73
+'condition'=51
+'weightingFunctionImplementation'=89
+'AdaptationDirection'=79
+'referredAdaptationPoint'=28
+'{'=12
+'conditionTrueBranch'=53
+'goal'=20
+'Specification'=91
+'EDate'=95
+'WeightingFunction'=88
+'('=23
+'-'=66
+'tactics'=14
+','=15
+'ImportDeclaration'=40
+'context'=52
+'implementedPlan'=26
+'AdaptationActionOperation'=57
+'ActionReference'=55
+'refersTo'=56
+'WeightedMetric'=98
+'variationPossibility'=65
+'oclString'=77
+'valueConstraint'=75
+'StopAction'=46
+'weightedMetrics'=90
+'ModelVariableConfigurationRange'=60
+'steps'=42
+'metricType'=93
+'lastImpact'=87
+'BranchAction'=50
+'ModelEntityConfigurationRange'=64
+'Tactic'=21
+'successor'=45
+'Strategy'=30
+')'=24
+'AdaptationScope'=78
+'strategies'=18
+'StartAction'=43
+'triggeringEvents'=32
+'}'=16
+'parameters'=19
+'RelationalOperator'=94
+'LoopAction'=47
+'minValue'=61
+'objective'=31
+'actions'=17
+'weight'=99
+'maxValueConstraint'=72
+'description'=38
+'predecessor'=44
+'relationalOperator'=92
+'measuredEntity'=97
+'WeightedTactic'=83
+'AdaptationProcess'=11
+'Parameter'=34
+'Action'=27
+'OverallGoal'=37
+'PropertyRange'=70
+'adaptationOperationDirection'=59
+'outputParam'=25
+'name'=13
+'specifications'=81
+'E'=68
+'MetricValue'=96
+'variants'=74
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLangLexer.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLangLexer.java
new file mode 100644
index 0000000000000000000000000000000000000000..c56d14f3bfd14160e7d51df218c1965e107bc308
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLangLexer.java
@@ -0,0 +1,4498 @@
+package edu.kit.ipd.descartes.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;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStaLangLexer extends Lexer {
+    public static final int RULE_ID=5;
+    public static final int T__29=29;
+    public static final int T__28=28;
+    public static final int T__27=27;
+    public static final int T__26=26;
+    public static final int T__25=25;
+    public static final int T__24=24;
+    public static final int T__23=23;
+    public static final int T__22=22;
+    public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
+    public static final int T__20=20;
+    public static final int EOF=-1;
+    public static final int T__93=93;
+    public static final int T__19=19;
+    public static final int T__94=94;
+    public static final int T__91=91;
+    public static final int T__92=92;
+    public static final int T__16=16;
+    public static final int T__90=90;
+    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__12=12;
+    public static final int T__11=11;
+    public static final int T__14=14;
+    public static final int T__13=13;
+    public static final int T__99=99;
+    public static final int T__98=98;
+    public static final int T__97=97;
+    public static final int T__96=96;
+    public static final int T__95=95;
+    public static final int T__80=80;
+    public static final int T__81=81;
+    public static final int T__82=82;
+    public static final int T__83=83;
+    public static final int T__85=85;
+    public static final int T__84=84;
+    public static final int T__87=87;
+    public static final int T__86=86;
+    public static final int T__89=89;
+    public static final int T__88=88;
+    public static final int RULE_ML_COMMENT=7;
+    public static final int RULE_STRING=4;
+    public static final int T__71=71;
+    public static final int T__72=72;
+    public static final int T__70=70;
+    public static final int T__76=76;
+    public static final int T__75=75;
+    public static final int T__74=74;
+    public static final int T__73=73;
+    public static final int T__79=79;
+    public static final int T__78=78;
+    public static final int T__77=77;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__66=66;
+    public static final int T__67=67;
+    public static final int T__64=64;
+    public static final int T__65=65;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__61=61;
+    public static final int T__60=60;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__52=52;
+    public static final int T__53=53;
+    public static final int T__54=54;
+    public static final int T__59=59;
+    public static final int RULE_INT=6;
+    public static final int T__50=50;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int RULE_SL_COMMENT=8;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int RULE_WS=9;
+
+    // delegates
+    // delegators
+
+    public InternalStaLangLexer() {;} 
+    public InternalStaLangLexer(CharStream input) {
+        this(input, new RecognizerSharedState());
+    }
+    public InternalStaLangLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
+    }
+    public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g"; }
+
+    // $ANTLR start "T__11"
+    public final void mT__11() throws RecognitionException {
+        try {
+            int _type = T__11;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:11:7: ( 'AdaptationProcess' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:11:9: 'AdaptationProcess'
+            {
+            match("AdaptationProcess"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__11"
+
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
+        try {
+            int _type = T__12;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:12:7: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:12:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:13:7: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:13:9: 'name'
+            {
+            match("name"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__13"
+
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
+        try {
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:14:7: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:14:9: 'tactics'
+            {
+            match("tactics"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__14"
+
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
+        try {
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:15:7: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:15:9: ','
+            {
+            match(','); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__15"
+
+    // $ANTLR start "T__16"
+    public final void mT__16() throws RecognitionException {
+        try {
+            int _type = T__16;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:16:7: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:16:9: '}'
+            {
+            match('}'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__16"
+
+    // $ANTLR start "T__17"
+    public final void mT__17() throws RecognitionException {
+        try {
+            int _type = T__17;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:17:7: ( 'actions' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:17:9: 'actions'
+            {
+            match("actions"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__17"
+
+    // $ANTLR start "T__18"
+    public final void mT__18() throws RecognitionException {
+        try {
+            int _type = T__18;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:18:7: ( 'strategies' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:18:9: 'strategies'
+            {
+            match("strategies"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__18"
+
+    // $ANTLR start "T__19"
+    public final void mT__19() throws RecognitionException {
+        try {
+            int _type = T__19;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:19:7: ( 'parameters' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:19:9: 'parameters'
+            {
+            match("parameters"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__19"
+
+    // $ANTLR start "T__20"
+    public final void mT__20() throws RecognitionException {
+        try {
+            int _type = T__20;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:20:7: ( 'goal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:20:9: 'goal'
+            {
+            match("goal"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__20"
+
+    // $ANTLR start "T__21"
+    public final void mT__21() throws RecognitionException {
+        try {
+            int _type = T__21;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:21:7: ( 'Tactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:21:9: 'Tactic'
+            {
+            match("Tactic"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__21"
+
+    // $ANTLR start "T__22"
+    public final void mT__22() throws RecognitionException {
+        try {
+            int _type = T__22;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:22:7: ( 'inputParams' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:22:9: 'inputParams'
+            {
+            match("inputParams"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__22"
+
+    // $ANTLR start "T__23"
+    public final void mT__23() throws RecognitionException {
+        try {
+            int _type = T__23;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:23:7: ( '(' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:23:9: '('
+            {
+            match('('); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__23"
+
+    // $ANTLR start "T__24"
+    public final void mT__24() throws RecognitionException {
+        try {
+            int _type = T__24;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:24:7: ( ')' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:24:9: ')'
+            {
+            match(')'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__24"
+
+    // $ANTLR start "T__25"
+    public final void mT__25() throws RecognitionException {
+        try {
+            int _type = T__25;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:25:7: ( 'outputParam' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:25:9: 'outputParam'
+            {
+            match("outputParam"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__25"
+
+    // $ANTLR start "T__26"
+    public final void mT__26() throws RecognitionException {
+        try {
+            int _type = T__26;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:26:7: ( 'implementedPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:26:9: 'implementedPlan'
+            {
+            match("implementedPlan"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__26"
+
+    // $ANTLR start "T__27"
+    public final void mT__27() throws RecognitionException {
+        try {
+            int _type = T__27;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:27:7: ( 'Action' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:27:9: 'Action'
+            {
+            match("Action"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__27"
+
+    // $ANTLR start "T__28"
+    public final void mT__28() throws RecognitionException {
+        try {
+            int _type = T__28;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:28:7: ( 'referredAdaptationPoint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:28:9: 'referredAdaptationPoint'
+            {
+            match("referredAdaptationPoint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__28"
+
+    // $ANTLR start "T__29"
+    public final void mT__29() throws RecognitionException {
+        try {
+            int _type = T__29;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:29:7: ( 'adaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:29:9: 'adaptationActionOperation'
+            {
+            match("adaptationActionOperation"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__29"
+
+    // $ANTLR start "T__30"
+    public final void mT__30() throws RecognitionException {
+        try {
+            int _type = T__30;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:30:7: ( 'Strategy' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:30:9: 'Strategy'
+            {
+            match("Strategy"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__30"
+
+    // $ANTLR start "T__31"
+    public final void mT__31() throws RecognitionException {
+        try {
+            int _type = T__31;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:31:7: ( 'objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:31:9: 'objective'
+            {
+            match("objective"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__31"
+
+    // $ANTLR start "T__32"
+    public final void mT__32() throws RecognitionException {
+        try {
+            int _type = T__32;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:32:7: ( 'triggeringEvents' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:32:9: 'triggeringEvents'
+            {
+            match("triggeringEvents"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__32"
+
+    // $ANTLR start "T__33"
+    public final void mT__33() throws RecognitionException {
+        try {
+            int _type = T__33;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:33:7: ( 'weightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:33:9: 'weightingFunction'
+            {
+            match("weightingFunction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__33"
+
+    // $ANTLR start "T__34"
+    public final void mT__34() throws RecognitionException {
+        try {
+            int _type = T__34;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:34:7: ( 'Parameter' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:34:9: 'Parameter'
+            {
+            match("Parameter"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__34"
+
+    // $ANTLR start "T__35"
+    public final void mT__35() throws RecognitionException {
+        try {
+            int _type = T__35;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:35:7: ( 'type' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:35:9: 'type'
+            {
+            match("type"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__35"
+
+    // $ANTLR start "T__36"
+    public final void mT__36() throws RecognitionException {
+        try {
+            int _type = T__36;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:36:7: ( 'value' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:36:9: 'value'
+            {
+            match("value"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__36"
+
+    // $ANTLR start "T__37"
+    public final void mT__37() throws RecognitionException {
+        try {
+            int _type = T__37;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:37:7: ( 'OverallGoal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:37:9: 'OverallGoal'
+            {
+            match("OverallGoal"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__37"
+
+    // $ANTLR start "T__38"
+    public final void mT__38() throws RecognitionException {
+        try {
+            int _type = T__38;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:38:7: ( 'description' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:38:9: 'description'
+            {
+            match("description"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__38"
+
+    // $ANTLR start "T__39"
+    public final void mT__39() throws RecognitionException {
+        try {
+            int _type = T__39;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:39:7: ( 'objectives' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:39:9: 'objectives'
+            {
+            match("objectives"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__39"
+
+    // $ANTLR start "T__40"
+    public final void mT__40() throws RecognitionException {
+        try {
+            int _type = T__40;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:40:7: ( 'ImportDeclaration' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:40:9: 'ImportDeclaration'
+            {
+            match("ImportDeclaration"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__40"
+
+    // $ANTLR start "T__41"
+    public final void mT__41() throws RecognitionException {
+        try {
+            int _type = T__41;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:41:7: ( 'AdaptationPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:41:9: 'AdaptationPlan'
+            {
+            match("AdaptationPlan"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__41"
+
+    // $ANTLR start "T__42"
+    public final void mT__42() throws RecognitionException {
+        try {
+            int _type = T__42;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:42:7: ( 'steps' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:42:9: 'steps'
+            {
+            match("steps"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__42"
+
+    // $ANTLR start "T__43"
+    public final void mT__43() throws RecognitionException {
+        try {
+            int _type = T__43;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:43:7: ( 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:43:9: 'StartAction'
+            {
+            match("StartAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__43"
+
+    // $ANTLR start "T__44"
+    public final void mT__44() throws RecognitionException {
+        try {
+            int _type = T__44;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:44:7: ( 'predecessor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:44:9: 'predecessor'
+            {
+            match("predecessor"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__44"
+
+    // $ANTLR start "T__45"
+    public final void mT__45() throws RecognitionException {
+        try {
+            int _type = T__45;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:45:7: ( 'successor' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:45:9: 'successor'
+            {
+            match("successor"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__45"
+
+    // $ANTLR start "T__46"
+    public final void mT__46() throws RecognitionException {
+        try {
+            int _type = T__46;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:46:7: ( 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:46:9: 'StopAction'
+            {
+            match("StopAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__46"
+
+    // $ANTLR start "T__47"
+    public final void mT__47() throws RecognitionException {
+        try {
+            int _type = T__47;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:47:7: ( 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:47:9: 'LoopAction'
+            {
+            match("LoopAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__47"
+
+    // $ANTLR start "T__48"
+    public final void mT__48() throws RecognitionException {
+        try {
+            int _type = T__48;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:48:7: ( 'counter' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:48:9: 'counter'
+            {
+            match("counter"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__48"
+
+    // $ANTLR start "T__49"
+    public final void mT__49() throws RecognitionException {
+        try {
+            int _type = T__49;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:49:7: ( 'body' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:49:9: 'body'
+            {
+            match("body"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__49"
+
+    // $ANTLR start "T__50"
+    public final void mT__50() throws RecognitionException {
+        try {
+            int _type = T__50;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:50:7: ( 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:50:9: 'BranchAction'
+            {
+            match("BranchAction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__50"
+
+    // $ANTLR start "T__51"
+    public final void mT__51() throws RecognitionException {
+        try {
+            int _type = T__51;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:51:7: ( 'condition' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:51:9: 'condition'
+            {
+            match("condition"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__51"
+
+    // $ANTLR start "T__52"
+    public final void mT__52() throws RecognitionException {
+        try {
+            int _type = T__52;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:52:7: ( 'context' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:52:9: 'context'
+            {
+            match("context"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__52"
+
+    // $ANTLR start "T__53"
+    public final void mT__53() throws RecognitionException {
+        try {
+            int _type = T__53;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:53:7: ( 'conditionTrueBranch' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:53:9: 'conditionTrueBranch'
+            {
+            match("conditionTrueBranch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__53"
+
+    // $ANTLR start "T__54"
+    public final void mT__54() throws RecognitionException {
+        try {
+            int _type = T__54;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:54:7: ( 'conditionFalseBranch' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:54:9: 'conditionFalseBranch'
+            {
+            match("conditionFalseBranch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__54"
+
+    // $ANTLR start "T__55"
+    public final void mT__55() throws RecognitionException {
+        try {
+            int _type = T__55;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:55:7: ( 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:55:9: 'ActionReference'
+            {
+            match("ActionReference"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__55"
+
+    // $ANTLR start "T__56"
+    public final void mT__56() throws RecognitionException {
+        try {
+            int _type = T__56;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:56:7: ( 'refersTo' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:56:9: 'refersTo'
+            {
+            match("refersTo"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__56"
+
+    // $ANTLR start "T__57"
+    public final void mT__57() throws RecognitionException {
+        try {
+            int _type = T__57;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:57:7: ( 'AdaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:57:9: 'AdaptationActionOperation'
+            {
+            match("AdaptationActionOperation"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__57"
+
+    // $ANTLR start "T__58"
+    public final void mT__58() throws RecognitionException {
+        try {
+            int _type = T__58;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:58:7: ( 'adaptationOperationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:58:9: 'adaptationOperationScope'
+            {
+            match("adaptationOperationScope"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__58"
+
+    // $ANTLR start "T__59"
+    public final void mT__59() throws RecognitionException {
+        try {
+            int _type = T__59;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:59:7: ( 'adaptationOperationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:59:9: 'adaptationOperationDirection'
+            {
+            match("adaptationOperationDirection"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__59"
+
+    // $ANTLR start "T__60"
+    public final void mT__60() throws RecognitionException {
+        try {
+            int _type = T__60;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:60:7: ( 'ModelVariableConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:60:9: 'ModelVariableConfigurationRange'
+            {
+            match("ModelVariableConfigurationRange"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__60"
+
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
+        try {
+            int _type = T__61;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:61:7: ( 'minValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:61:9: 'minValue'
+            {
+            match("minValue"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "T__62"
+    public final void mT__62() throws RecognitionException {
+        try {
+            int _type = T__62;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:62:7: ( 'maxValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:62:9: 'maxValue'
+            {
+            match("maxValue"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__62"
+
+    // $ANTLR start "T__63"
+    public final void mT__63() throws RecognitionException {
+        try {
+            int _type = T__63;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:63:7: ( 'adaptableEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:63:9: 'adaptableEntity'
+            {
+            match("adaptableEntity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__63"
+
+    // $ANTLR start "T__64"
+    public final void mT__64() throws RecognitionException {
+        try {
+            int _type = T__64;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:64:7: ( 'ModelEntityConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:64:9: 'ModelEntityConfigurationRange'
+            {
+            match("ModelEntityConfigurationRange"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__64"
+
+    // $ANTLR start "T__65"
+    public final void mT__65() throws RecognitionException {
+        try {
+            int _type = T__65;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:65:7: ( 'variationPossibility' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:65:9: 'variationPossibility'
+            {
+            match("variationPossibility"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__65"
+
+    // $ANTLR start "T__66"
+    public final void mT__66() throws RecognitionException {
+        try {
+            int _type = T__66;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:66:7: ( '-' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:66:9: '-'
+            {
+            match('-'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__66"
+
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:67:7: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:67:9: '.'
+            {
+            match('.'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:68:7: ( 'E' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:68:9: 'E'
+            {
+            match('E'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
+    // $ANTLR start "T__69"
+    public final void mT__69() throws RecognitionException {
+        try {
+            int _type = T__69;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:69:7: ( 'e' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:69:9: 'e'
+            {
+            match('e'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__69"
+
+    // $ANTLR start "T__70"
+    public final void mT__70() throws RecognitionException {
+        try {
+            int _type = T__70;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:70:7: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:70:9: 'PropertyRange'
+            {
+            match("PropertyRange"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__70"
+
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
+        try {
+            int _type = T__71;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:71:7: ( 'minValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:71:9: 'minValueConstraint'
+            {
+            match("minValueConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "T__72"
+    public final void mT__72() throws RecognitionException {
+        try {
+            int _type = T__72;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:72:7: ( 'maxValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:72:9: 'maxValueConstraint'
+            {
+            match("maxValueConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__72"
+
+    // $ANTLR start "T__73"
+    public final void mT__73() throws RecognitionException {
+        try {
+            int _type = T__73;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:73:7: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:73:9: 'SetOfConfigurations'
+            {
+            match("SetOfConfigurations"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__73"
+
+    // $ANTLR start "T__74"
+    public final void mT__74() throws RecognitionException {
+        try {
+            int _type = T__74;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:74:7: ( 'variants' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:74:9: 'variants'
+            {
+            match("variants"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__74"
+
+    // $ANTLR start "T__75"
+    public final void mT__75() throws RecognitionException {
+        try {
+            int _type = T__75;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:75:7: ( 'valueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:75:9: 'valueConstraint'
+            {
+            match("valueConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__75"
+
+    // $ANTLR start "T__76"
+    public final void mT__76() throws RecognitionException {
+        try {
+            int _type = T__76;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:76:7: ( 'OclConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:76:9: 'OclConstraint'
+            {
+            match("OclConstraint"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__76"
+
+    // $ANTLR start "T__77"
+    public final void mT__77() throws RecognitionException {
+        try {
+            int _type = T__77;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:77:7: ( 'oclString' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:77:9: 'oclString'
+            {
+            match("oclString"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__77"
+
+    // $ANTLR start "T__78"
+    public final void mT__78() throws RecognitionException {
+        try {
+            int _type = T__78;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:78:7: ( 'AdaptationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:78:9: 'AdaptationScope'
+            {
+            match("AdaptationScope"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__78"
+
+    // $ANTLR start "T__79"
+    public final void mT__79() throws RecognitionException {
+        try {
+            int _type = T__79;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:79:7: ( 'AdaptationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:79:9: 'AdaptationDirection'
+            {
+            match("AdaptationDirection"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__79"
+
+    // $ANTLR start "T__80"
+    public final void mT__80() throws RecognitionException {
+        try {
+            int _type = T__80;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:80:7: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:80:9: 'Objective'
+            {
+            match("Objective"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__80"
+
+    // $ANTLR start "T__81"
+    public final void mT__81() throws RecognitionException {
+        try {
+            int _type = T__81;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:81:7: ( 'specifications' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:81:9: 'specifications'
+            {
+            match("specifications"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__81"
+
+    // $ANTLR start "T__82"
+    public final void mT__82() throws RecognitionException {
+        try {
+            int _type = T__82;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:82:7: ( 'Event' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:82:9: 'Event'
+            {
+            match("Event"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__82"
+
+    // $ANTLR start "T__83"
+    public final void mT__83() throws RecognitionException {
+        try {
+            int _type = T__83;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:83:7: ( 'WeightedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:83:9: 'WeightedTactic'
+            {
+            match("WeightedTactic"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__83"
+
+    // $ANTLR start "T__84"
+    public final void mT__84() throws RecognitionException {
+        try {
+            int _type = T__84;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:84:7: ( 'currentWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:84:9: 'currentWeight'
+            {
+            match("currentWeight"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__84"
+
+    // $ANTLR start "T__85"
+    public final void mT__85() throws RecognitionException {
+        try {
+            int _type = T__85;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:85:7: ( 'defaultWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:85:9: 'defaultWeight'
+            {
+            match("defaultWeight"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__85"
+
+    // $ANTLR start "T__86"
+    public final void mT__86() throws RecognitionException {
+        try {
+            int _type = T__86;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:86:7: ( 'usedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:86:9: 'usedTactic'
+            {
+            match("usedTactic"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__86"
+
+    // $ANTLR start "T__87"
+    public final void mT__87() throws RecognitionException {
+        try {
+            int _type = T__87;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:87:7: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:87:9: 'lastImpact'
+            {
+            match("lastImpact"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__87"
+
+    // $ANTLR start "T__88"
+    public final void mT__88() throws RecognitionException {
+        try {
+            int _type = T__88;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:88:7: ( 'WeightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:88:9: 'WeightingFunction'
+            {
+            match("WeightingFunction"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__88"
+
+    // $ANTLR start "T__89"
+    public final void mT__89() throws RecognitionException {
+        try {
+            int _type = T__89;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:89:7: ( 'weightingFunctionImplementation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:89:9: 'weightingFunctionImplementation'
+            {
+            match("weightingFunctionImplementation"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__89"
+
+    // $ANTLR start "T__90"
+    public final void mT__90() throws RecognitionException {
+        try {
+            int _type = T__90;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:90:7: ( 'weightedMetrics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:90:9: 'weightedMetrics'
+            {
+            match("weightedMetrics"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__90"
+
+    // $ANTLR start "T__91"
+    public final void mT__91() throws RecognitionException {
+        try {
+            int _type = T__91;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:91:7: ( 'Specification' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:91:9: 'Specification'
+            {
+            match("Specification"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__91"
+
+    // $ANTLR start "T__92"
+    public final void mT__92() throws RecognitionException {
+        try {
+            int _type = T__92;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:92:7: ( 'relationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:92:9: 'relationalOperator'
+            {
+            match("relationalOperator"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__92"
+
+    // $ANTLR start "T__93"
+    public final void mT__93() throws RecognitionException {
+        try {
+            int _type = T__93;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:93:7: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:93:9: 'metricType'
+            {
+            match("metricType"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__93"
+
+    // $ANTLR start "T__94"
+    public final void mT__94() throws RecognitionException {
+        try {
+            int _type = T__94;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:94:7: ( 'RelationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:94:9: 'RelationalOperator'
+            {
+            match("RelationalOperator"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__94"
+
+    // $ANTLR start "T__95"
+    public final void mT__95() throws RecognitionException {
+        try {
+            int _type = T__95;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:95:7: ( 'EDate' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:95:9: 'EDate'
+            {
+            match("EDate"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__95"
+
+    // $ANTLR start "T__96"
+    public final void mT__96() throws RecognitionException {
+        try {
+            int _type = T__96;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:96:7: ( 'MetricValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:96:9: 'MetricValue'
+            {
+            match("MetricValue"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__96"
+
+    // $ANTLR start "T__97"
+    public final void mT__97() throws RecognitionException {
+        try {
+            int _type = T__97;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:97:7: ( 'measuredEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:97:9: 'measuredEntity'
+            {
+            match("measuredEntity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__97"
+
+    // $ANTLR start "T__98"
+    public final void mT__98() throws RecognitionException {
+        try {
+            int _type = T__98;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:98:7: ( 'WeightedMetric' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:98:9: 'WeightedMetric'
+            {
+            match("WeightedMetric"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__98"
+
+    // $ANTLR start "T__99"
+    public final void mT__99() throws RecognitionException {
+        try {
+            int _type = T__99;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:99:7: ( 'weight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:99:9: 'weight'
+            {
+            match("weight"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__99"
+
+    // $ANTLR start "RULE_ID"
+    public final void mRULE_ID() throws RecognitionException {
+        try {
+            int _type = RULE_ID;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3644:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3644:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3644:11: ( '^' )?
+            int alt1=2;
+            int LA1_0 = input.LA(1);
+
+            if ( (LA1_0=='^') ) {
+                alt1=1;
+            }
+            switch (alt1) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3644:11: '^'
+                    {
+                    match('^'); 
+
+                    }
+                    break;
+
+            }
+
+            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3644:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ID"
+
+    // $ANTLR start "RULE_INT"
+    public final void mRULE_INT() throws RecognitionException {
+        try {
+            int _type = RULE_INT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3646:10: ( ( '0' .. '9' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3646:12: ( '0' .. '9' )+
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3646:12: ( '0' .. '9' )+
+            int cnt3=0;
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+
+                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+                    alt3=1;
+                }
+
+
+                switch (alt3) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3646:13: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt3 >= 1 ) break loop3;
+                        EarlyExitException eee =
+                            new EarlyExitException(3, input);
+                        throw eee;
+                }
+                cnt3++;
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_INT"
+
+    // $ANTLR start "RULE_STRING"
+    public final void mRULE_STRING() throws RecognitionException {
+        try {
+            int _type = RULE_STRING;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0=='\"') ) {
+                alt6=1;
+            }
+            else if ( (LA6_0=='\'') ) {
+                alt6=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 6, 0, input);
+
+                throw nvae;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    {
+                    match('\"'); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop4:
+                    do {
+                        int alt4=3;
+                        int LA4_0 = input.LA(1);
+
+                        if ( (LA4_0=='\\') ) {
+                            alt4=1;
+                        }
+                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+                            alt4=2;
+                        }
+
+
+                        switch (alt4) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648: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' && input.LA(1)<='u') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    {
+                    	    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;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop4;
+                        }
+                    } while (true);
+
+                    match('\"'); 
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    {
+                    match('\''); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop5:
+                    do {
+                        int alt5=3;
+                        int LA5_0 = input.LA(1);
+
+                        if ( (LA5_0=='\\') ) {
+                            alt5=1;
+                        }
+                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+                            alt5=2;
+                        }
+
+
+                        switch (alt5) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648: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' && input.LA(1)<='u') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3648:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    {
+                    	    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;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop5;
+                        }
+                    } while (true);
+
+                    match('\''); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_STRING"
+
+    // $ANTLR start "RULE_ML_COMMENT"
+    public final void mRULE_ML_COMMENT() throws RecognitionException {
+        try {
+            int _type = RULE_ML_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3650:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3650:19: '/*' ( options {greedy=false; } : . )* '*/'
+            {
+            match("/*"); 
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3650:24: ( options {greedy=false; } : . )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+
+                if ( (LA7_0=='*') ) {
+                    int LA7_1 = input.LA(2);
+
+                    if ( (LA7_1=='/') ) {
+                        alt7=2;
+                    }
+                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+                        alt7=1;
+                    }
+
+
+                }
+                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+                    alt7=1;
+                }
+
+
+                switch (alt7) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3650:52: .
+            	    {
+            	    matchAny(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+            match("*/"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ML_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;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            {
+            match("//"); 
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
+
+                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+                    alt8=1;
+                }
+
+
+                switch (alt8) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652: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)<='\uFFFF') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
+                }
+            } while (true);
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:40: ( ( '\\r' )? '\\n' )?
+            int alt10=2;
+            int LA10_0 = input.LA(1);
+
+            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+                alt10=1;
+            }
+            switch (alt10) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:41: ( '\\r' )? '\\n'
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:41: ( '\\r' )?
+                    int alt9=2;
+                    int LA9_0 = input.LA(1);
+
+                    if ( (LA9_0=='\r') ) {
+                        alt9=1;
+                    }
+                    switch (alt9) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3652:41: '\\r'
+                            {
+                            match('\r'); 
+
+                            }
+                            break;
+
+                    }
+
+                    match('\n'); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_SL_COMMENT"
+
+    // $ANTLR start "RULE_WS"
+    public final void mRULE_WS() throws RecognitionException {
+        try {
+            int _type = RULE_WS;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3654:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3654:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3654:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt11=0;
+            loop11:
+            do {
+                int alt11=2;
+                int LA11_0 = input.LA(1);
+
+                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+                    alt11=1;
+                }
+
+
+                switch (alt11) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:
+            	    {
+            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt11 >= 1 ) break loop11;
+                        EarlyExitException eee =
+                            new EarlyExitException(11, input);
+                        throw eee;
+                }
+                cnt11++;
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_WS"
+
+    // $ANTLR start "RULE_ANY_OTHER"
+    public final void mRULE_ANY_OTHER() throws RecognitionException {
+        try {
+            int _type = RULE_ANY_OTHER;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3656:16: ( . )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3656:18: .
+            {
+            matchAny(); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ANY_OTHER"
+
+    public void mTokens() throws RecognitionException {
+        // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=96;
+        alt12 = dfa12.predict(input);
+        switch (alt12) {
+            case 1 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:10: T__11
+                {
+                mT__11(); 
+
+                }
+                break;
+            case 2 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:16: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 3 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:22: T__13
+                {
+                mT__13(); 
+
+                }
+                break;
+            case 4 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:28: T__14
+                {
+                mT__14(); 
+
+                }
+                break;
+            case 5 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:34: T__15
+                {
+                mT__15(); 
+
+                }
+                break;
+            case 6 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:40: T__16
+                {
+                mT__16(); 
+
+                }
+                break;
+            case 7 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:46: T__17
+                {
+                mT__17(); 
+
+                }
+                break;
+            case 8 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:52: T__18
+                {
+                mT__18(); 
+
+                }
+                break;
+            case 9 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:58: T__19
+                {
+                mT__19(); 
+
+                }
+                break;
+            case 10 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:64: T__20
+                {
+                mT__20(); 
+
+                }
+                break;
+            case 11 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:70: T__21
+                {
+                mT__21(); 
+
+                }
+                break;
+            case 12 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:76: T__22
+                {
+                mT__22(); 
+
+                }
+                break;
+            case 13 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:82: T__23
+                {
+                mT__23(); 
+
+                }
+                break;
+            case 14 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:88: T__24
+                {
+                mT__24(); 
+
+                }
+                break;
+            case 15 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:94: T__25
+                {
+                mT__25(); 
+
+                }
+                break;
+            case 16 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:100: T__26
+                {
+                mT__26(); 
+
+                }
+                break;
+            case 17 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:106: T__27
+                {
+                mT__27(); 
+
+                }
+                break;
+            case 18 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:112: T__28
+                {
+                mT__28(); 
+
+                }
+                break;
+            case 19 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:118: T__29
+                {
+                mT__29(); 
+
+                }
+                break;
+            case 20 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:124: T__30
+                {
+                mT__30(); 
+
+                }
+                break;
+            case 21 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:130: T__31
+                {
+                mT__31(); 
+
+                }
+                break;
+            case 22 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:136: T__32
+                {
+                mT__32(); 
+
+                }
+                break;
+            case 23 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:142: T__33
+                {
+                mT__33(); 
+
+                }
+                break;
+            case 24 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:148: T__34
+                {
+                mT__34(); 
+
+                }
+                break;
+            case 25 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:154: T__35
+                {
+                mT__35(); 
+
+                }
+                break;
+            case 26 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:160: T__36
+                {
+                mT__36(); 
+
+                }
+                break;
+            case 27 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:166: T__37
+                {
+                mT__37(); 
+
+                }
+                break;
+            case 28 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:172: T__38
+                {
+                mT__38(); 
+
+                }
+                break;
+            case 29 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:178: T__39
+                {
+                mT__39(); 
+
+                }
+                break;
+            case 30 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:184: T__40
+                {
+                mT__40(); 
+
+                }
+                break;
+            case 31 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:190: T__41
+                {
+                mT__41(); 
+
+                }
+                break;
+            case 32 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:196: T__42
+                {
+                mT__42(); 
+
+                }
+                break;
+            case 33 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:202: T__43
+                {
+                mT__43(); 
+
+                }
+                break;
+            case 34 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:208: T__44
+                {
+                mT__44(); 
+
+                }
+                break;
+            case 35 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:214: T__45
+                {
+                mT__45(); 
+
+                }
+                break;
+            case 36 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:220: T__46
+                {
+                mT__46(); 
+
+                }
+                break;
+            case 37 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:226: T__47
+                {
+                mT__47(); 
+
+                }
+                break;
+            case 38 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:232: T__48
+                {
+                mT__48(); 
+
+                }
+                break;
+            case 39 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:238: T__49
+                {
+                mT__49(); 
+
+                }
+                break;
+            case 40 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:244: T__50
+                {
+                mT__50(); 
+
+                }
+                break;
+            case 41 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:250: T__51
+                {
+                mT__51(); 
+
+                }
+                break;
+            case 42 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:256: T__52
+                {
+                mT__52(); 
+
+                }
+                break;
+            case 43 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:262: T__53
+                {
+                mT__53(); 
+
+                }
+                break;
+            case 44 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:268: T__54
+                {
+                mT__54(); 
+
+                }
+                break;
+            case 45 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:274: T__55
+                {
+                mT__55(); 
+
+                }
+                break;
+            case 46 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:280: T__56
+                {
+                mT__56(); 
+
+                }
+                break;
+            case 47 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:286: T__57
+                {
+                mT__57(); 
+
+                }
+                break;
+            case 48 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:292: T__58
+                {
+                mT__58(); 
+
+                }
+                break;
+            case 49 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:298: T__59
+                {
+                mT__59(); 
+
+                }
+                break;
+            case 50 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:304: T__60
+                {
+                mT__60(); 
+
+                }
+                break;
+            case 51 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:310: T__61
+                {
+                mT__61(); 
+
+                }
+                break;
+            case 52 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:316: T__62
+                {
+                mT__62(); 
+
+                }
+                break;
+            case 53 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:322: T__63
+                {
+                mT__63(); 
+
+                }
+                break;
+            case 54 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:328: T__64
+                {
+                mT__64(); 
+
+                }
+                break;
+            case 55 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:334: T__65
+                {
+                mT__65(); 
+
+                }
+                break;
+            case 56 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:340: T__66
+                {
+                mT__66(); 
+
+                }
+                break;
+            case 57 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:346: T__67
+                {
+                mT__67(); 
+
+                }
+                break;
+            case 58 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:352: T__68
+                {
+                mT__68(); 
+
+                }
+                break;
+            case 59 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:358: T__69
+                {
+                mT__69(); 
+
+                }
+                break;
+            case 60 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:364: T__70
+                {
+                mT__70(); 
+
+                }
+                break;
+            case 61 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:370: T__71
+                {
+                mT__71(); 
+
+                }
+                break;
+            case 62 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:376: T__72
+                {
+                mT__72(); 
+
+                }
+                break;
+            case 63 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:382: T__73
+                {
+                mT__73(); 
+
+                }
+                break;
+            case 64 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:388: T__74
+                {
+                mT__74(); 
+
+                }
+                break;
+            case 65 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:394: T__75
+                {
+                mT__75(); 
+
+                }
+                break;
+            case 66 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:400: T__76
+                {
+                mT__76(); 
+
+                }
+                break;
+            case 67 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:406: T__77
+                {
+                mT__77(); 
+
+                }
+                break;
+            case 68 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:412: T__78
+                {
+                mT__78(); 
+
+                }
+                break;
+            case 69 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:418: T__79
+                {
+                mT__79(); 
+
+                }
+                break;
+            case 70 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:424: T__80
+                {
+                mT__80(); 
+
+                }
+                break;
+            case 71 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:430: T__81
+                {
+                mT__81(); 
+
+                }
+                break;
+            case 72 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:436: T__82
+                {
+                mT__82(); 
+
+                }
+                break;
+            case 73 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:442: T__83
+                {
+                mT__83(); 
+
+                }
+                break;
+            case 74 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:448: T__84
+                {
+                mT__84(); 
+
+                }
+                break;
+            case 75 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:454: T__85
+                {
+                mT__85(); 
+
+                }
+                break;
+            case 76 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:460: T__86
+                {
+                mT__86(); 
+
+                }
+                break;
+            case 77 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:466: T__87
+                {
+                mT__87(); 
+
+                }
+                break;
+            case 78 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:472: T__88
+                {
+                mT__88(); 
+
+                }
+                break;
+            case 79 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:478: T__89
+                {
+                mT__89(); 
+
+                }
+                break;
+            case 80 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:484: T__90
+                {
+                mT__90(); 
+
+                }
+                break;
+            case 81 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:490: T__91
+                {
+                mT__91(); 
+
+                }
+                break;
+            case 82 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:496: T__92
+                {
+                mT__92(); 
+
+                }
+                break;
+            case 83 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:502: T__93
+                {
+                mT__93(); 
+
+                }
+                break;
+            case 84 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:508: T__94
+                {
+                mT__94(); 
+
+                }
+                break;
+            case 85 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:514: T__95
+                {
+                mT__95(); 
+
+                }
+                break;
+            case 86 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:520: T__96
+                {
+                mT__96(); 
+
+                }
+                break;
+            case 87 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:526: T__97
+                {
+                mT__97(); 
+
+                }
+                break;
+            case 88 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:532: T__98
+                {
+                mT__98(); 
+
+                }
+                break;
+            case 89 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:538: T__99
+                {
+                mT__99(); 
+
+                }
+                break;
+            case 90 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:544: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 91 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:552: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 92 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:561: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 93 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:573: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 94 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:589: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 95 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:605: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 96 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1:613: RULE_ANY_OTHER
+                {
+                mRULE_ANY_OTHER(); 
+
+                }
+                break;
+
+        }
+
+    }
+
+
+    protected DFA12 dfa12 = new DFA12(this);
+    static final String DFA12_eotS =
+        "\1\uffff\1\60\1\uffff\2\60\2\uffff\6\60\2\uffff\17\60\2\uffff\1"+
+        "\143\1\144\4\60\1\55\2\uffff\3\55\2\uffff\2\60\2\uffff\4\60\2\uffff"+
+        "\13\60\2\uffff\32\60\2\uffff\2\60\2\uffff\4\60\5\uffff\73\60\1\u00e3"+
+        "\2\60\1\u00e6\10\60\1\u00ef\35\60\1\u010d\17\60\1\uffff\2\60\1\uffff"+
+        "\3\60\1\u0122\4\60\1\uffff\20\60\1\u0139\14\60\1\uffff\7\60\1\u014f"+
+        "\1\u0150\5\60\1\u0157\5\60\1\uffff\4\60\1\u0162\15\60\1\u0172\3"+
+        "\60\1\uffff\25\60\2\uffff\6\60\1\uffff\1\u0192\1\60\1\u0194\7\60"+
+        "\1\uffff\17\60\1\uffff\14\60\1\u01b7\1\60\1\u01b9\20\60\1\uffff"+
+        "\1\60\1\uffff\15\60\1\u01d8\1\60\1\u01da\12\60\1\u01e5\7\60\1\uffff"+
+        "\1\60\1\uffff\5\60\1\u01f4\1\u01f6\15\60\1\u0205\6\60\1\u020d\1"+
+        "\u020e\1\60\1\uffff\1\60\1\uffff\6\60\1\u0217\3\60\1\uffff\2\60"+
+        "\1\u021d\4\60\1\u0224\6\60\1\uffff\1\60\1\uffff\15\60\1\u023d\1"+
+        "\uffff\1\60\1\u023f\4\60\1\u0244\2\uffff\3\60\1\u0248\4\60\1\uffff"+
+        "\5\60\1\uffff\3\60\1\u0255\2\60\1\uffff\7\60\1\u025f\4\60\1\u0264"+
+        "\1\u0265\12\60\1\uffff\1\60\1\uffff\1\u0272\1\u0273\1\60\1\u0275"+
+        "\1\uffff\2\60\1\u0278\1\uffff\7\60\1\u0280\1\60\1\u0282\2\60\1\uffff"+
+        "\6\60\1\u028b\2\60\1\uffff\4\60\2\uffff\14\60\2\uffff\1\60\1\uffff"+
+        "\2\60\1\uffff\7\60\1\uffff\1\60\1\uffff\5\60\1\u02ae\2\60\1\uffff"+
+        "\26\60\1\u02c7\2\60\1\u02ca\2\60\1\u02cd\1\u02ce\3\60\1\u02d2\1"+
+        "\uffff\12\60\1\u02dd\10\60\1\u02e6\4\60\1\uffff\2\60\1\uffff\2\60"+
+        "\2\uffff\3\60\1\uffff\4\60\1\u02f6\1\u02f7\1\u02f8\3\60\1\uffff"+
+        "\1\60\1\u02fd\1\60\1\u02ff\3\60\1\u0303\1\uffff\1\u0304\4\60\1\u0309"+
+        "\1\u030a\10\60\3\uffff\4\60\1\uffff\1\60\1\uffff\1\u0318\2\60\2"+
+        "\uffff\4\60\2\uffff\12\60\1\u0329\2\60\1\uffff\5\60\1\u0332\1\60"+
+        "\1\u0334\6\60\1\u033b\1\60\1\uffff\5\60\1\u0342\2\60\1\uffff\1\60"+
+        "\1\uffff\4\60\1\u034a\1\u034b\1\uffff\1\u034c\1\60\1\u034e\3\60"+
+        "\1\uffff\1\u0353\2\60\1\u0356\3\60\3\uffff\1\60\1\uffff\4\60\1\uffff"+
+        "\1\60\1\u0360\1\uffff\1\u0361\10\60\2\uffff\16\60\1\u0378\5\60\1"+
+        "\u037e\1\60\1\uffff\3\60\1\u0383\1\u0384\1\uffff\4\60\2\uffff\10"+
+        "\60\1\u0391\3\60\1\uffff\2\60\1\u0397\2\60\1\uffff\1\u039a\1\u039b"+
+        "\2\uffff";
+    static final String DFA12_eofS =
+        "\u039c\uffff";
+    static final String DFA12_minS =
+        "\1\0\1\143\1\uffff\2\141\2\uffff\1\143\1\160\1\141\1\157\1\141\1"+
+        "\155\2\uffff\1\142\3\145\2\141\1\142\1\145\1\155\3\157\1\162\1\145"+
+        "\1\141\2\uffff\2\60\1\145\1\163\1\141\1\145\1\101\2\uffff\2\0\1"+
+        "\52\2\uffff\1\141\1\164\2\uffff\1\155\1\143\1\151\1\160\2\uffff"+
+        "\1\164\1\141\1\145\1\143\1\145\1\162\1\145\1\141\1\143\2\160\2\uffff"+
+        "\1\164\1\152\1\154\1\146\1\141\1\164\1\145\1\151\1\162\1\157\1\154"+
+        "\1\145\1\154\1\152\1\146\1\160\1\157\1\156\1\162\1\144\1\141\1\144"+
+        "\1\164\1\156\1\170\1\141\2\uffff\1\145\1\141\2\uffff\1\151\1\145"+
+        "\1\163\1\154\5\uffff\1\160\1\151\1\145\1\164\1\147\1\145\1\151\1"+
+        "\160\1\141\1\160\2\143\1\141\1\144\1\154\1\164\1\165\1\154\1\160"+
+        "\1\145\1\123\1\145\2\141\1\162\1\160\1\117\1\143\1\147\1\141\1\160"+
+        "\1\165\1\151\1\162\1\103\1\145\1\143\1\141\1\157\1\160\1\156\1\144"+
+        "\1\162\1\171\1\156\1\145\1\162\2\126\1\162\1\163\1\156\1\164\1\147"+
+        "\1\144\1\164\1\141\1\164\1\157\1\60\1\151\1\147\1\60\1\157\2\164"+
+        "\1\163\1\145\1\151\1\155\1\145\1\60\1\151\1\164\1\145\1\165\1\143"+
+        "\1\164\1\162\3\164\1\101\1\146\1\151\1\150\1\155\2\145\2\141\1\157"+
+        "\1\143\1\162\1\165\1\162\1\101\1\164\1\151\2\145\1\60\1\143\1\154"+
+        "\1\151\2\141\1\151\1\165\1\164\1\145\1\150\1\124\1\111\1\164\1\141"+
+        "\1\156\1\uffff\1\143\1\145\1\uffff\1\156\1\141\1\145\1\60\1\163"+
+        "\1\146\1\145\1\143\1\uffff\1\143\1\120\1\155\2\164\2\162\1\151\1"+
+        "\145\1\101\1\143\1\103\1\146\1\164\1\145\1\162\1\60\1\156\1\154"+
+        "\1\156\1\164\1\151\1\154\1\164\1\143\1\145\1\164\1\170\1\156\1\uffff"+
+        "\1\150\1\105\1\143\2\154\1\143\1\162\2\60\1\164\1\141\1\155\1\151"+
+        "\1\164\1\60\1\163\1\162\1\163\1\142\1\147\1\uffff\1\163\1\151\1"+
+        "\164\1\145\1\60\1\141\1\145\1\120\2\151\1\145\1\124\1\157\1\147"+
+        "\1\143\1\164\1\157\1\151\1\60\2\164\1\157\1\uffff\1\151\1\164\1"+
+        "\154\1\163\1\151\1\160\1\164\1\104\1\164\1\162\1\151\2\164\1\101"+
+        "\1\141\1\156\1\126\2\165\1\124\1\145\2\uffff\1\145\1\143\1\160\1"+
+        "\157\1\151\1\145\1\uffff\1\60\1\151\1\60\1\151\1\154\1\151\1\157"+
+        "\1\143\1\145\1\163\1\uffff\1\162\1\156\1\141\1\166\1\156\1\144\1"+
+        "\157\1\156\1\171\1\164\1\151\1\156\1\143\1\156\1\144\1\uffff\1\145"+
+        "\1\171\1\156\1\157\1\163\1\107\1\164\1\166\1\164\1\127\1\145\1\151"+
+        "\1\60\1\157\1\60\1\127\1\143\1\162\1\164\1\141\2\145\1\171\2\144"+
+        "\1\156\1\164\1\141\1\156\1\157\1\146\1\uffff\1\156\1\uffff\1\157"+
+        "\2\145\1\162\1\141\1\162\1\163\1\141\1\164\1\162\1\145\1\147\1\101"+
+        "\1\60\1\141\1\60\1\151\1\157\1\146\1\141\1\147\1\115\1\162\1\122"+
+        "\1\163\1\156\1\60\1\157\1\162\1\145\1\151\1\145\1\143\1\157\1\uffff"+
+        "\1\156\1\uffff\1\145\1\164\2\151\1\154\2\60\1\160\1\105\1\115\1"+
+        "\147\1\151\1\143\1\141\1\156\1\145\1\147\1\156\1\105\1\163\1\60"+
+        "\1\164\1\163\1\157\1\155\1\145\1\141\2\60\1\144\1\uffff\1\154\1"+
+        "\uffff\1\157\1\156\1\151\1\164\1\106\1\145\1\60\1\141\1\164\1\120"+
+        "\1\uffff\2\141\1\60\1\157\1\151\1\154\1\156\1\60\2\151\1\141\1\164"+
+        "\1\165\1\157\1\uffff\1\157\1\uffff\1\145\1\156\1\141\1\145\1\106"+
+        "\1\143\1\164\1\154\1\101\1\162\1\105\1\101\1\156\1\60\1\uffff\1"+
+        "\151\1\60\1\162\1\163\1\144\1\155\1\60\2\uffff\1\141\1\117\1\156"+
+        "\1\60\1\147\1\151\1\165\1\164\1\uffff\1\156\1\162\1\157\1\154\1"+
+        "\151\1\uffff\1\156\1\147\1\141\1\60\1\162\1\141\1\uffff\1\147\1"+
+        "\157\1\142\1\171\1\145\2\156\1\60\1\164\1\143\1\164\1\165\2\60\1"+
+        "\117\1\154\2\143\1\151\1\145\1\166\1\143\1\160\1\164\1\uffff\1\157"+
+        "\1\uffff\2\60\1\120\1\60\1\uffff\2\160\1\60\1\uffff\1\165\1\157"+
+        "\1\156\1\162\1\147\1\141\1\163\1\60\1\156\1\60\1\150\1\162\1\uffff"+
+        "\1\165\1\154\1\150\1\156\1\154\1\103\1\60\2\163\1\uffff\1\151\1"+
+        "\164\1\162\1\156\2\uffff\1\160\1\157\1\141\1\164\1\157\1\162\1\156"+
+        "\1\145\1\164\1\145\1\151\1\156\2\uffff\1\154\1\uffff\1\164\1\145"+
+        "\1\uffff\1\162\1\156\1\143\1\151\1\145\1\151\1\163\1\uffff\1\164"+
+        "\1\uffff\1\164\1\141\1\145\1\163\1\164\1\60\1\145\1\157\1\uffff"+
+        "\3\164\2\151\1\143\1\145\1\143\1\156\1\151\1\160\1\145\1\143\1\156"+
+        "\1\151\1\162\1\164\1\163\2\141\1\162\1\141\1\60\1\164\1\143\1\60"+
+        "\1\156\1\151\2\60\1\164\1\102\1\145\1\60\1\uffff\1\103\1\156\2\162"+
+        "\1\171\2\143\1\164\1\162\1\145\1\60\1\157\1\145\1\143\1\145\1\164"+
+        "\1\157\1\141\1\171\1\60\1\156\1\164\1\141\1\164\1\uffff\1\151\1"+
+        "\163\1\uffff\1\164\1\142\2\uffff\1\151\1\162\1\102\1\uffff\1\157"+
+        "\1\146\2\141\3\60\1\151\1\141\1\163\1\uffff\1\156\1\60\1\164\1\60"+
+        "\1\163\1\156\1\164\1\60\1\uffff\1\60\1\151\1\164\1\151\1\157\2\60"+
+        "\1\151\1\157\1\141\1\162\1\156\3\151\3\uffff\1\157\1\164\1\163\1"+
+        "\117\1\uffff\1\151\1\uffff\1\60\1\117\1\151\2\uffff\3\157\1\156"+
+        "\2\uffff\1\154\2\156\1\141\1\146\1\147\3\156\1\157\1\60\1\160\1"+
+        "\157\1\uffff\1\160\1\157\1\156\1\162\1\156\1\60\1\151\1\60\1\143"+
+        "\1\156\1\151\1\165\2\164\1\60\1\162\1\uffff\1\145\1\156\1\145\1"+
+        "\156\1\120\1\60\1\163\1\155\1\uffff\1\164\1\uffff\1\150\1\143\1"+
+        "\147\1\162\2\60\1\uffff\1\60\1\162\1\60\1\162\1\104\1\157\1\uffff"+
+        "\1\60\1\160\1\171\1\60\1\150\1\165\1\141\3\uffff\1\141\1\uffff\1"+
+        "\141\1\143\2\151\1\uffff\1\154\1\60\1\uffff\1\60\1\162\3\164\1\157"+
+        "\1\162\1\156\1\145\2\uffff\1\141\3\151\1\160\1\145\1\164\1\155\1"+
+        "\164\3\157\1\145\1\143\1\60\1\145\1\151\3\156\1\60\1\164\1\uffff"+
+        "\1\156\1\157\1\122\2\60\1\uffff\1\151\1\164\1\156\1\141\2\uffff"+
+        "\1\157\1\141\1\122\2\156\1\164\1\141\1\147\1\60\1\151\1\156\1\145"+
+        "\1\uffff\1\157\1\147\1\60\1\156\1\145\1\uffff\2\60\2\uffff";
+    static final String DFA12_maxS =
+        "\1\uffff\1\144\1\uffff\1\141\1\171\2\uffff\1\144\1\165\1\162\1\157"+
+        "\1\141\1\156\2\uffff\1\165\1\145\1\164\1\145\1\162\1\141\1\166\1"+
+        "\145\1\155\1\157\1\165\1\157\1\162\1\157\1\151\2\uffff\2\172\1\145"+
+        "\1\163\1\141\1\145\1\172\2\uffff\2\uffff\1\57\2\uffff\1\141\1\164"+
+        "\2\uffff\1\155\1\143\1\151\1\160\2\uffff\1\164\1\141\1\162\1\143"+
+        "\1\145\1\162\1\145\1\141\1\143\2\160\2\uffff\1\164\1\152\2\154\1"+
+        "\162\1\164\1\145\1\151\1\162\1\157\1\162\1\145\1\154\1\152\1\163"+
+        "\1\160\1\157\1\165\1\162\1\144\1\141\1\144\1\164\1\156\1\170\1\164"+
+        "\2\uffff\1\145\1\141\2\uffff\1\151\1\145\1\163\1\154\5\uffff\1\160"+
+        "\1\151\1\145\1\164\1\147\1\145\1\151\1\160\1\141\1\160\2\143\1\141"+
+        "\1\144\1\154\1\164\1\165\1\154\1\160\1\145\1\123\1\145\2\141\1\162"+
+        "\1\160\1\117\1\143\1\147\1\141\1\160\1\165\1\151\1\162\1\103\1\145"+
+        "\1\143\1\141\1\157\1\160\1\156\1\164\1\162\1\171\1\156\1\145\1\162"+
+        "\2\126\1\162\1\163\1\156\1\164\1\147\1\144\1\164\1\141\1\164\1\157"+
+        "\1\172\1\151\1\147\1\172\1\157\2\164\1\163\1\145\1\151\1\155\1\145"+
+        "\1\172\1\151\1\164\1\145\1\165\1\143\1\164\1\162\3\164\1\101\1\146"+
+        "\1\151\1\150\1\155\2\145\2\141\1\157\1\143\1\162\1\165\1\162\1\101"+
+        "\1\164\1\151\2\145\1\172\1\143\1\154\1\151\2\141\1\151\1\165\1\164"+
+        "\1\145\1\150\1\124\1\111\1\164\1\141\1\156\1\uffff\1\143\1\145\1"+
+        "\uffff\1\156\1\141\1\145\1\172\1\163\1\146\1\145\1\143\1\uffff\1"+
+        "\143\1\120\1\155\2\164\1\162\1\163\1\151\1\145\1\101\1\143\1\103"+
+        "\1\146\1\164\1\145\1\162\1\172\1\164\1\154\1\156\1\164\1\151\1\154"+
+        "\1\164\1\143\1\145\1\164\1\170\1\156\1\uffff\1\150\1\126\1\143\2"+
+        "\154\1\143\1\162\2\172\1\164\1\141\1\155\1\151\1\164\1\172\1\163"+
+        "\1\162\1\163\1\164\1\147\1\uffff\1\163\1\151\1\164\1\145\1\172\1"+
+        "\141\1\145\1\120\2\151\1\145\1\124\1\157\1\147\1\143\1\164\1\157"+
+        "\1\151\1\172\2\164\1\157\1\uffff\1\151\1\164\1\154\1\163\1\151\1"+
+        "\160\1\164\1\104\1\164\1\162\1\151\2\164\1\101\1\141\1\156\1\126"+
+        "\2\165\1\124\1\145\2\uffff\1\151\1\143\1\160\1\157\1\151\1\145\1"+
+        "\uffff\1\172\1\151\1\172\1\151\1\154\1\151\1\157\1\143\1\145\1\163"+
+        "\1\uffff\1\162\1\156\1\141\1\166\1\156\1\144\1\157\1\156\1\171\1"+
+        "\164\1\151\1\156\1\143\1\156\1\144\1\uffff\1\145\1\171\1\156\1\157"+
+        "\1\163\1\107\1\164\1\166\1\164\1\127\1\145\1\151\1\172\1\157\1\172"+
+        "\1\127\1\143\1\162\1\164\1\141\2\145\1\171\2\144\1\156\1\164\1\141"+
+        "\1\156\1\157\1\146\1\uffff\1\156\1\uffff\1\157\2\145\1\162\1\141"+
+        "\1\162\1\163\1\141\1\164\1\162\1\145\1\147\1\101\1\172\1\141\1\172"+
+        "\1\151\1\157\1\146\1\141\1\147\1\115\1\162\1\122\1\163\1\156\1\172"+
+        "\1\157\1\162\1\145\1\151\1\145\1\143\1\157\1\uffff\1\156\1\uffff"+
+        "\1\145\1\164\2\151\1\154\2\172\1\160\1\105\1\124\1\147\1\151\1\143"+
+        "\1\141\1\156\1\145\1\147\1\156\1\105\1\163\1\172\1\164\1\163\1\157"+
+        "\1\155\1\145\1\141\2\172\1\144\1\uffff\1\154\1\uffff\1\157\1\156"+
+        "\1\151\1\164\1\106\1\145\1\172\1\141\1\164\1\120\1\uffff\2\141\1"+
+        "\172\1\157\1\151\1\154\1\156\1\172\2\151\1\141\1\164\1\165\1\157"+
+        "\1\uffff\1\157\1\uffff\1\145\1\156\1\141\1\145\1\106\1\143\1\164"+
+        "\1\154\1\123\1\162\1\105\1\117\1\156\1\172\1\uffff\1\151\1\172\1"+
+        "\162\1\163\1\144\1\155\1\172\2\uffff\1\141\1\117\1\156\1\172\1\147"+
+        "\1\151\1\165\1\164\1\uffff\1\156\1\162\1\157\1\154\1\151\1\uffff"+
+        "\1\156\1\147\1\141\1\172\1\162\1\141\1\uffff\1\147\1\157\1\142\1"+
+        "\171\1\145\2\156\1\172\1\164\1\143\1\164\1\165\2\172\1\117\1\162"+
+        "\2\143\1\151\1\145\1\166\1\143\1\160\1\164\1\uffff\1\157\1\uffff"+
+        "\2\172\1\120\1\172\1\uffff\2\160\1\172\1\uffff\1\165\1\157\1\156"+
+        "\1\162\1\147\1\141\1\163\1\172\1\156\1\172\1\150\1\162\1\uffff\1"+
+        "\165\1\154\1\150\1\156\1\154\1\103\1\172\2\163\1\uffff\1\151\1\164"+
+        "\1\162\1\156\2\uffff\1\160\1\157\1\141\1\164\1\157\1\162\1\156\1"+
+        "\145\1\164\1\145\1\151\1\156\2\uffff\1\154\1\uffff\1\164\1\145\1"+
+        "\uffff\1\162\1\156\1\143\1\151\1\145\1\151\1\163\1\uffff\1\164\1"+
+        "\uffff\1\164\1\141\1\145\1\163\1\164\1\172\1\145\1\157\1\uffff\3"+
+        "\164\2\151\1\143\1\145\1\143\1\156\1\151\1\160\1\145\1\143\1\156"+
+        "\1\151\1\162\1\164\1\163\2\141\1\162\1\141\1\172\1\164\1\143\1\172"+
+        "\1\156\1\151\2\172\1\164\1\102\1\145\1\172\1\uffff\1\103\1\156\2"+
+        "\162\1\171\2\143\1\164\1\162\1\145\1\172\1\157\1\145\1\143\1\145"+
+        "\1\164\1\157\1\141\1\171\1\172\1\156\1\164\1\141\1\164\1\uffff\1"+
+        "\151\1\163\1\uffff\1\164\1\142\2\uffff\1\151\1\162\1\102\1\uffff"+
+        "\1\157\1\146\2\141\3\172\1\151\1\141\1\163\1\uffff\1\156\1\172\1"+
+        "\164\1\172\1\163\1\156\1\164\1\172\1\uffff\1\172\1\151\1\164\1\151"+
+        "\1\157\2\172\1\151\1\157\1\141\1\162\1\156\3\151\3\uffff\1\157\1"+
+        "\164\1\163\1\117\1\uffff\1\151\1\uffff\1\172\1\117\1\151\2\uffff"+
+        "\3\157\1\156\2\uffff\1\154\2\156\1\141\1\146\1\147\3\156\1\157\1"+
+        "\172\1\160\1\157\1\uffff\1\160\1\157\1\156\1\162\1\156\1\172\1\151"+
+        "\1\172\1\143\1\156\1\151\1\165\2\164\1\172\1\162\1\uffff\1\145\1"+
+        "\156\1\145\1\156\1\120\1\172\1\163\1\155\1\uffff\1\164\1\uffff\1"+
+        "\150\1\143\1\147\1\162\2\172\1\uffff\1\172\1\162\1\172\1\162\1\123"+
+        "\1\157\1\uffff\1\172\1\160\1\171\1\172\1\150\1\165\1\141\3\uffff"+
+        "\1\141\1\uffff\1\141\1\143\2\151\1\uffff\1\154\1\172\1\uffff\1\172"+
+        "\1\162\3\164\1\157\1\162\1\156\1\145\2\uffff\1\141\3\151\1\160\1"+
+        "\145\1\164\1\155\1\164\3\157\1\145\1\143\1\172\1\145\1\151\3\156"+
+        "\1\172\1\164\1\uffff\1\156\1\157\1\122\2\172\1\uffff\1\151\1\164"+
+        "\1\156\1\141\2\uffff\1\157\1\141\1\122\2\156\1\164\1\141\1\147\1"+
+        "\172\1\151\1\156\1\145\1\uffff\1\157\1\147\1\172\1\156\1\145\1\uffff"+
+        "\2\172\2\uffff";
+    static final String DFA12_acceptS =
+        "\2\uffff\1\2\2\uffff\1\5\1\6\6\uffff\1\15\1\16\17\uffff\1\70\1\71"+
+        "\7\uffff\1\132\1\133\3\uffff\1\137\1\140\2\uffff\1\132\1\2\4\uffff"+
+        "\1\5\1\6\13\uffff\1\15\1\16\32\uffff\1\70\1\71\2\uffff\1\72\1\73"+
+        "\4\uffff\1\133\1\134\1\135\1\136\1\137\165\uffff\1\3\2\uffff\1\31"+
+        "\10\uffff\1\12\35\uffff\1\47\24\uffff\1\40\26\uffff\1\32\25\uffff"+
+        "\1\110\1\125\6\uffff\1\21\12\uffff\1\13\17\uffff\1\131\37\uffff"+
+        "\1\4\1\uffff\1\7\42\uffff\1\46\1\uffff\1\52\36\uffff\1\56\1\uffff"+
+        "\1\24\12\uffff\1\100\16\uffff\1\63\1\uffff\1\64\16\uffff\1\43\7"+
+        "\uffff\1\25\1\103\10\uffff\1\30\5\uffff\1\106\6\uffff\1\51\30\uffff"+
+        "\1\10\1\uffff\1\11\4\uffff\1\35\3\uffff\1\44\14\uffff\1\45\11\uffff"+
+        "\1\123\4\uffff\1\114\1\115\14\uffff\1\42\1\14\1\uffff\1\17\2\uffff"+
+        "\1\41\7\uffff\1\33\1\uffff\1\34\10\uffff\1\126\42\uffff\1\50\30"+
+        "\uffff\1\121\2\uffff\1\74\2\uffff\1\102\1\113\3\uffff\1\112\12\uffff"+
+        "\1\37\10\uffff\1\107\17\uffff\1\127\1\111\1\130\4\uffff\1\104\1"+
+        "\uffff\1\55\3\uffff\1\65\1\20\4\uffff\1\120\1\101\15\uffff\1\26"+
+        "\20\uffff\1\1\10\uffff\1\27\1\uffff\1\36\6\uffff\1\116\6\uffff\1"+
+        "\122\7\uffff\1\75\1\76\1\124\1\uffff\1\105\4\uffff\1\77\2\uffff"+
+        "\1\53\11\uffff\1\67\1\54\26\uffff\1\22\5\uffff\1\60\4\uffff\1\57"+
+        "\1\23\14\uffff\1\61\5\uffff\1\66\2\uffff\1\117\1\62";
+    static final String DFA12_specialS =
+        "\1\2\50\uffff\1\1\1\0\u0371\uffff}>";
+    static final String[] DFA12_transitionS = {
+            "\11\55\2\54\2\55\1\54\22\55\1\54\1\55\1\51\4\55\1\52\1\15\1"+
+            "\16\2\55\1\5\1\36\1\37\1\53\12\50\7\55\1\1\1\33\2\47\1\40\3"+
+            "\47\1\27\2\47\1\30\1\34\1\47\1\25\1\23\1\47\1\45\1\21\1\13\2"+
+            "\47\1\42\3\47\3\55\1\46\1\47\1\55\1\7\1\32\1\31\1\26\1\41\1"+
+            "\47\1\12\1\47\1\14\2\47\1\44\1\35\1\3\1\17\1\11\1\47\1\20\1"+
+            "\10\1\4\1\43\1\24\1\22\3\47\1\2\1\55\1\6\uff82\55",
+            "\1\57\1\56",
+            "",
+            "\1\62",
+            "\1\63\20\uffff\1\64\6\uffff\1\65",
+            "",
+            "",
+            "\1\70\1\71",
+            "\1\74\3\uffff\1\72\1\73",
+            "\1\75\20\uffff\1\76",
+            "\1\77",
+            "\1\100",
+            "\1\102\1\101",
+            "",
+            "",
+            "\1\106\1\107\21\uffff\1\105",
+            "\1\110",
+            "\1\112\12\uffff\1\113\3\uffff\1\111",
+            "\1\114",
+            "\1\115\20\uffff\1\116",
+            "\1\117",
+            "\1\122\1\121\22\uffff\1\120",
+            "\1\123",
+            "\1\124",
+            "\1\125",
+            "\1\126\5\uffff\1\127",
+            "\1\130",
+            "\1\131",
+            "\1\133\11\uffff\1\132",
+            "\1\135\3\uffff\1\136\3\uffff\1\134",
+            "",
+            "",
+            "\12\60\7\uffff\3\60\1\142\26\60\4\uffff\1\60\1\uffff\25\60"+
+            "\1\141\4\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\145",
+            "\1\146",
+            "\1\147",
+            "\1\150",
+            "\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "",
+            "\0\152",
+            "\0\152",
+            "\1\153\4\uffff\1\154",
+            "",
+            "",
+            "\1\156",
+            "\1\157",
+            "",
+            "",
+            "\1\160",
+            "\1\161",
+            "\1\162",
+            "\1\163",
+            "",
+            "",
+            "\1\164",
+            "\1\165",
+            "\1\167\14\uffff\1\166",
+            "\1\170",
+            "\1\171",
+            "\1\172",
+            "\1\173",
+            "\1\174",
+            "\1\175",
+            "\1\176",
+            "\1\177",
+            "",
+            "",
+            "\1\u0080",
+            "\1\u0081",
+            "\1\u0082",
+            "\1\u0083\5\uffff\1\u0084",
+            "\1\u0086\15\uffff\1\u0087\2\uffff\1\u0085",
+            "\1\u0088",
+            "\1\u0089",
+            "\1\u008a",
+            "\1\u008b",
+            "\1\u008c",
+            "\1\u008d\5\uffff\1\u008e",
+            "\1\u008f",
+            "\1\u0090",
+            "\1\u0091",
+            "\1\u0093\14\uffff\1\u0092",
+            "\1\u0094",
+            "\1\u0095",
+            "\1\u0097\6\uffff\1\u0096",
+            "\1\u0098",
+            "\1\u0099",
+            "\1\u009a",
+            "\1\u009b",
+            "\1\u009c",
+            "\1\u009d",
+            "\1\u009e",
+            "\1\u00a0\22\uffff\1\u009f",
+            "",
+            "",
+            "\1\u00a1",
+            "\1\u00a2",
+            "",
+            "",
+            "\1\u00a3",
+            "\1\u00a4",
+            "\1\u00a5",
+            "\1\u00a6",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a7",
+            "\1\u00a8",
+            "\1\u00a9",
+            "\1\u00aa",
+            "\1\u00ab",
+            "\1\u00ac",
+            "\1\u00ad",
+            "\1\u00ae",
+            "\1\u00af",
+            "\1\u00b0",
+            "\1\u00b1",
+            "\1\u00b2",
+            "\1\u00b3",
+            "\1\u00b4",
+            "\1\u00b5",
+            "\1\u00b6",
+            "\1\u00b7",
+            "\1\u00b8",
+            "\1\u00b9",
+            "\1\u00ba",
+            "\1\u00bb",
+            "\1\u00bc",
+            "\1\u00bd",
+            "\1\u00be",
+            "\1\u00bf",
+            "\1\u00c0",
+            "\1\u00c1",
+            "\1\u00c2",
+            "\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c5",
+            "\1\u00c6",
+            "\1\u00c7",
+            "\1\u00c8",
+            "\1\u00c9",
+            "\1\u00ca",
+            "\1\u00cb",
+            "\1\u00cc",
+            "\1\u00cd",
+            "\1\u00ce",
+            "\1\u00cf",
+            "\1\u00d0\17\uffff\1\u00d1",
+            "\1\u00d2",
+            "\1\u00d3",
+            "\1\u00d4",
+            "\1\u00d5",
+            "\1\u00d6",
+            "\1\u00d7",
+            "\1\u00d8",
+            "\1\u00d9",
+            "\1\u00da",
+            "\1\u00db",
+            "\1\u00dc",
+            "\1\u00dd",
+            "\1\u00de",
+            "\1\u00df",
+            "\1\u00e0",
+            "\1\u00e1",
+            "\1\u00e2",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u00e4",
+            "\1\u00e5",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u00e7",
+            "\1\u00e8",
+            "\1\u00e9",
+            "\1\u00ea",
+            "\1\u00eb",
+            "\1\u00ec",
+            "\1\u00ed",
+            "\1\u00ee",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u00f0",
+            "\1\u00f1",
+            "\1\u00f2",
+            "\1\u00f3",
+            "\1\u00f4",
+            "\1\u00f5",
+            "\1\u00f6",
+            "\1\u00f7",
+            "\1\u00f8",
+            "\1\u00f9",
+            "\1\u00fa",
+            "\1\u00fb",
+            "\1\u00fc",
+            "\1\u00fd",
+            "\1\u00fe",
+            "\1\u00ff",
+            "\1\u0100",
+            "\1\u0101",
+            "\1\u0102",
+            "\1\u0103",
+            "\1\u0104",
+            "\1\u0105",
+            "\1\u0106",
+            "\1\u0107",
+            "\1\u0108",
+            "\1\u0109",
+            "\1\u010a",
+            "\1\u010b",
+            "\1\u010c",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u010e",
+            "\1\u010f",
+            "\1\u0110",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0113",
+            "\1\u0114",
+            "\1\u0115",
+            "\1\u0116",
+            "\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
+            "\1\u011a",
+            "\1\u011b",
+            "\1\u011c",
+            "",
+            "\1\u011d",
+            "\1\u011e",
+            "",
+            "\1\u011f",
+            "\1\u0120",
+            "\1\u0121",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0123",
+            "\1\u0124",
+            "\1\u0125",
+            "\1\u0126",
+            "",
+            "\1\u0127",
+            "\1\u0128",
+            "\1\u0129",
+            "\1\u012a",
+            "\1\u012b",
+            "\1\u012c",
+            "\1\u012d\1\u012e",
+            "\1\u012f",
+            "\1\u0130",
+            "\1\u0131",
+            "\1\u0132",
+            "\1\u0133",
+            "\1\u0134",
+            "\1\u0135",
+            "\1\u0136",
+            "\1\u0137",
+            "\12\60\7\uffff\2\60\1\u0138\27\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u013b\5\uffff\1\u013a",
+            "\1\u013c",
+            "\1\u013d",
+            "\1\u013e",
+            "\1\u013f",
+            "\1\u0140",
+            "\1\u0141",
+            "\1\u0142",
+            "\1\u0143",
+            "\1\u0144",
+            "\1\u0145",
+            "\1\u0146",
+            "",
+            "\1\u0147",
+            "\1\u0149\20\uffff\1\u0148",
+            "\1\u014a",
+            "\1\u014b",
+            "\1\u014c",
+            "\1\u014d",
+            "\1\u014e",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0151",
+            "\1\u0152",
+            "\1\u0153",
+            "\1\u0154",
+            "\1\u0155",
+            "\12\60\7\uffff\21\60\1\u0156\10\60\4\uffff\1\60\1\uffff\32"+
+            "\60",
+            "\1\u0158",
+            "\1\u0159",
+            "\1\u015a",
+            "\1\u015c\21\uffff\1\u015b",
+            "\1\u015d",
+            "",
+            "\1\u015e",
+            "\1\u015f",
+            "\1\u0160",
+            "\1\u0161",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0163",
+            "\1\u0164",
+            "\1\u0165",
+            "\1\u0166",
+            "\1\u0167",
+            "\1\u0168",
+            "\1\u0169",
+            "\1\u016a",
+            "\1\u016b",
+            "\1\u016c",
+            "\1\u016d",
+            "\1\u016e",
+            "\1\u016f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0171\3\60"+
+            "\1\u0170\21\60",
+            "\1\u0173",
+            "\1\u0174",
+            "\1\u0175",
+            "",
+            "\1\u0176",
+            "\1\u0177",
+            "\1\u0178",
+            "\1\u0179",
+            "\1\u017a",
+            "\1\u017b",
+            "\1\u017c",
+            "\1\u017d",
+            "\1\u017e",
+            "\1\u017f",
+            "\1\u0180",
+            "\1\u0181",
+            "\1\u0182",
+            "\1\u0183",
+            "\1\u0184",
+            "\1\u0185",
+            "\1\u0186",
+            "\1\u0187",
+            "\1\u0188",
+            "\1\u0189",
+            "\1\u018a",
+            "",
+            "",
+            "\1\u018b\3\uffff\1\u018c",
+            "\1\u018d",
+            "\1\u018e",
+            "\1\u018f",
+            "\1\u0190",
+            "\1\u0191",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0193",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0195",
+            "\1\u0196",
+            "\1\u0197",
+            "\1\u0198",
+            "\1\u0199",
+            "\1\u019a",
+            "\1\u019b",
+            "",
+            "\1\u019c",
+            "\1\u019d",
+            "\1\u019e",
+            "\1\u019f",
+            "\1\u01a0",
+            "\1\u01a1",
+            "\1\u01a2",
+            "\1\u01a3",
+            "\1\u01a4",
+            "\1\u01a5",
+            "\1\u01a6",
+            "\1\u01a7",
+            "\1\u01a8",
+            "\1\u01a9",
+            "\1\u01aa",
+            "",
+            "\1\u01ab",
+            "\1\u01ac",
+            "\1\u01ad",
+            "\1\u01ae",
+            "\1\u01af",
+            "\1\u01b0",
+            "\1\u01b1",
+            "\1\u01b2",
+            "\1\u01b3",
+            "\1\u01b4",
+            "\1\u01b5",
+            "\1\u01b6",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01b8",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01ba",
+            "\1\u01bb",
+            "\1\u01bc",
+            "\1\u01bd",
+            "\1\u01be",
+            "\1\u01bf",
+            "\1\u01c0",
+            "\1\u01c1",
+            "\1\u01c2",
+            "\1\u01c3",
+            "\1\u01c4",
+            "\1\u01c5",
+            "\1\u01c6",
+            "\1\u01c7",
+            "\1\u01c8",
+            "\1\u01c9",
+            "",
+            "\1\u01ca",
+            "",
+            "\1\u01cb",
+            "\1\u01cc",
+            "\1\u01cd",
+            "\1\u01ce",
+            "\1\u01cf",
+            "\1\u01d0",
+            "\1\u01d1",
+            "\1\u01d2",
+            "\1\u01d3",
+            "\1\u01d4",
+            "\1\u01d5",
+            "\1\u01d6",
+            "\1\u01d7",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01d9",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01db",
+            "\1\u01dc",
+            "\1\u01dd",
+            "\1\u01de",
+            "\1\u01df",
+            "\1\u01e0",
+            "\1\u01e1",
+            "\1\u01e2",
+            "\1\u01e3",
+            "\1\u01e4",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01e6",
+            "\1\u01e7",
+            "\1\u01e8",
+            "\1\u01e9",
+            "\1\u01ea",
+            "\1\u01eb",
+            "\1\u01ec",
+            "",
+            "\1\u01ed",
+            "",
+            "\1\u01ee",
+            "\1\u01ef",
+            "\1\u01f0",
+            "\1\u01f1",
+            "\1\u01f2",
+            "\12\60\7\uffff\2\60\1\u01f3\27\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\2\60\1\u01f5\27\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u01f7",
+            "\1\u01f8",
+            "\1\u01fa\6\uffff\1\u01f9",
+            "\1\u01fb",
+            "\1\u01fc",
+            "\1\u01fd",
+            "\1\u01fe",
+            "\1\u01ff",
+            "\1\u0200",
+            "\1\u0201",
+            "\1\u0202",
+            "\1\u0203",
+            "\1\u0204",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0206",
+            "\1\u0207",
+            "\1\u0208",
+            "\1\u0209",
+            "\1\u020a",
+            "\1\u020b",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u020c\7\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u020f",
+            "",
+            "\1\u0210",
+            "",
+            "\1\u0211",
+            "\1\u0212",
+            "\1\u0213",
+            "\1\u0214",
+            "\1\u0215",
+            "\1\u0216",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0218",
+            "\1\u0219",
+            "\1\u021a",
+            "",
+            "\1\u021b",
+            "\1\u021c",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u021e",
+            "\1\u021f",
+            "\1\u0220",
+            "\1\u0221",
+            "\12\60\7\uffff\5\60\1\u0223\15\60\1\u0222\6\60\4\uffff\1\60"+
+            "\1\uffff\32\60",
+            "\1\u0225",
+            "\1\u0226",
+            "\1\u0227",
+            "\1\u0228",
+            "\1\u0229",
+            "\1\u022a",
+            "",
+            "\1\u022b",
+            "",
+            "\1\u022c",
+            "\1\u022d",
+            "\1\u022e",
+            "\1\u022f",
+            "\1\u0230",
+            "\1\u0231",
+            "\1\u0232",
+            "\1\u0233",
+            "\1\u0235\2\uffff\1\u0237\13\uffff\1\u0234\2\uffff\1\u0236",
+            "\1\u0238",
+            "\1\u0239",
+            "\1\u023a\15\uffff\1\u023b",
+            "\1\u023c",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u023e",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0240",
+            "\1\u0241",
+            "\1\u0242",
+            "\1\u0243",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "",
+            "\1\u0245",
+            "\1\u0246",
+            "\1\u0247",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0249",
+            "\1\u024a",
+            "\1\u024b",
+            "\1\u024c",
+            "",
+            "\1\u024d",
+            "\1\u024e",
+            "\1\u024f",
+            "\1\u0250",
+            "\1\u0251",
+            "",
+            "\1\u0252",
+            "\1\u0253",
+            "\1\u0254",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0256",
+            "\1\u0257",
+            "",
+            "\1\u0258",
+            "\1\u0259",
+            "\1\u025a",
+            "\1\u025b",
+            "\1\u025c",
+            "\1\u025d",
+            "\1\u025e",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0260",
+            "\1\u0261",
+            "\1\u0262",
+            "\1\u0263",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0266",
+            "\1\u0268\5\uffff\1\u0267",
+            "\1\u0269",
+            "\1\u026a",
+            "\1\u026b",
+            "\1\u026c",
+            "\1\u026d",
+            "\1\u026e",
+            "\1\u026f",
+            "\1\u0270",
+            "",
+            "\1\u0271",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0274",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u0276",
+            "\1\u0277",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u0279",
+            "\1\u027a",
+            "\1\u027b",
+            "\1\u027c",
+            "\1\u027d",
+            "\1\u027e",
+            "\1\u027f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0281",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0283",
+            "\1\u0284",
+            "",
+            "\1\u0285",
+            "\1\u0286",
+            "\1\u0287",
+            "\1\u0288",
+            "\1\u0289",
+            "\1\u028a",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u028c",
+            "\1\u028d",
+            "",
+            "\1\u028e",
+            "\1\u028f",
+            "\1\u0290",
+            "\1\u0291",
+            "",
+            "",
+            "\1\u0292",
+            "\1\u0293",
+            "\1\u0294",
+            "\1\u0295",
+            "\1\u0296",
+            "\1\u0297",
+            "\1\u0298",
+            "\1\u0299",
+            "\1\u029a",
+            "\1\u029b",
+            "\1\u029c",
+            "\1\u029d",
+            "",
+            "",
+            "\1\u029e",
+            "",
+            "\1\u029f",
+            "\1\u02a0",
+            "",
+            "\1\u02a1",
+            "\1\u02a2",
+            "\1\u02a3",
+            "\1\u02a4",
+            "\1\u02a5",
+            "\1\u02a6",
+            "\1\u02a7",
+            "",
+            "\1\u02a8",
+            "",
+            "\1\u02a9",
+            "\1\u02aa",
+            "\1\u02ab",
+            "\1\u02ac",
+            "\1\u02ad",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02af",
+            "\1\u02b0",
+            "",
+            "\1\u02b1",
+            "\1\u02b2",
+            "\1\u02b3",
+            "\1\u02b4",
+            "\1\u02b5",
+            "\1\u02b6",
+            "\1\u02b7",
+            "\1\u02b8",
+            "\1\u02b9",
+            "\1\u02ba",
+            "\1\u02bb",
+            "\1\u02bc",
+            "\1\u02bd",
+            "\1\u02be",
+            "\1\u02bf",
+            "\1\u02c0",
+            "\1\u02c1",
+            "\1\u02c2",
+            "\1\u02c3",
+            "\1\u02c4",
+            "\1\u02c5",
+            "\1\u02c6",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02c8",
+            "\1\u02c9",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02cb",
+            "\1\u02cc",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02cf",
+            "\1\u02d0",
+            "\1\u02d1",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u02d3",
+            "\1\u02d4",
+            "\1\u02d5",
+            "\1\u02d6",
+            "\1\u02d7",
+            "\1\u02d8",
+            "\1\u02d9",
+            "\1\u02da",
+            "\1\u02db",
+            "\1\u02dc",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02de",
+            "\1\u02df",
+            "\1\u02e0",
+            "\1\u02e1",
+            "\1\u02e2",
+            "\1\u02e3",
+            "\1\u02e4",
+            "\1\u02e5",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02e7",
+            "\1\u02e8",
+            "\1\u02e9",
+            "\1\u02ea",
+            "",
+            "\1\u02eb",
+            "\1\u02ec",
+            "",
+            "\1\u02ed",
+            "\1\u02ee",
+            "",
+            "",
+            "\1\u02ef",
+            "\1\u02f0",
+            "\1\u02f1",
+            "",
+            "\1\u02f2",
+            "\1\u02f3",
+            "\1\u02f4",
+            "\1\u02f5",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02f9",
+            "\1\u02fa",
+            "\1\u02fb",
+            "",
+            "\1\u02fc",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u02fe",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0300",
+            "\1\u0301",
+            "\1\u0302",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0305",
+            "\1\u0306",
+            "\1\u0307",
+            "\1\u0308",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u030b",
+            "\1\u030c",
+            "\1\u030d",
+            "\1\u030e",
+            "\1\u030f",
+            "\1\u0310",
+            "\1\u0311",
+            "\1\u0312",
+            "",
+            "",
+            "",
+            "\1\u0313",
+            "\1\u0314",
+            "\1\u0315",
+            "\1\u0316",
+            "",
+            "\1\u0317",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0319",
+            "\1\u031a",
+            "",
+            "",
+            "\1\u031b",
+            "\1\u031c",
+            "\1\u031d",
+            "\1\u031e",
+            "",
+            "",
+            "\1\u031f",
+            "\1\u0320",
+            "\1\u0321",
+            "\1\u0322",
+            "\1\u0323",
+            "\1\u0324",
+            "\1\u0325",
+            "\1\u0326",
+            "\1\u0327",
+            "\1\u0328",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u032a",
+            "\1\u032b",
+            "",
+            "\1\u032c",
+            "\1\u032d",
+            "\1\u032e",
+            "\1\u032f",
+            "\1\u0330",
+            "\12\60\7\uffff\10\60\1\u0331\21\60\4\uffff\1\60\1\uffff\32"+
+            "\60",
+            "\1\u0333",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0335",
+            "\1\u0336",
+            "\1\u0337",
+            "\1\u0338",
+            "\1\u0339",
+            "\1\u033a",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u033c",
+            "",
+            "\1\u033d",
+            "\1\u033e",
+            "\1\u033f",
+            "\1\u0340",
+            "\1\u0341",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0343",
+            "\1\u0344",
+            "",
+            "\1\u0345",
+            "",
+            "\1\u0346",
+            "\1\u0347",
+            "\1\u0348",
+            "\1\u0349",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u034d",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u034f",
+            "\1\u0351\16\uffff\1\u0350",
+            "\1\u0352",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0354",
+            "\1\u0355",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0357",
+            "\1\u0358",
+            "\1\u0359",
+            "",
+            "",
+            "",
+            "\1\u035a",
+            "",
+            "\1\u035b",
+            "\1\u035c",
+            "\1\u035d",
+            "\1\u035e",
+            "",
+            "\1\u035f",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0362",
+            "\1\u0363",
+            "\1\u0364",
+            "\1\u0365",
+            "\1\u0366",
+            "\1\u0367",
+            "\1\u0368",
+            "\1\u0369",
+            "",
+            "",
+            "\1\u036a",
+            "\1\u036b",
+            "\1\u036c",
+            "\1\u036d",
+            "\1\u036e",
+            "\1\u036f",
+            "\1\u0370",
+            "\1\u0371",
+            "\1\u0372",
+            "\1\u0373",
+            "\1\u0374",
+            "\1\u0375",
+            "\1\u0376",
+            "\1\u0377",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0379",
+            "\1\u037a",
+            "\1\u037b",
+            "\1\u037c",
+            "\1\u037d",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u037f",
+            "",
+            "\1\u0380",
+            "\1\u0381",
+            "\1\u0382",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            "\1\u0385",
+            "\1\u0386",
+            "\1\u0387",
+            "\1\u0388",
+            "",
+            "",
+            "\1\u0389",
+            "\1\u038a",
+            "\1\u038b",
+            "\1\u038c",
+            "\1\u038d",
+            "\1\u038e",
+            "\1\u038f",
+            "\1\u0390",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0392",
+            "\1\u0393",
+            "\1\u0394",
+            "",
+            "\1\u0395",
+            "\1\u0396",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\1\u0398",
+            "\1\u0399",
+            "",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
+            "",
+            ""
+    };
+
+    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+    static final short[][] DFA12_transition;
+
+    static {
+        int numStates = DFA12_transitionS.length;
+        DFA12_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+        }
+    }
+
+    static class DFA12 extends DFA {
+
+        public DFA12(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 12;
+            this.eot = DFA12_eot;
+            this.eof = DFA12_eof;
+            this.min = DFA12_min;
+            this.max = DFA12_max;
+            this.accept = DFA12_accept;
+            this.special = DFA12_special;
+            this.transition = DFA12_transition;
+        }
+        public String getDescription() {
+            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | 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 LA12_42 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA12_42>='\u0000' && LA12_42<='\uFFFF')) ) {s = 106;}
+
+                        else s = 45;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA12_41 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA12_41>='\u0000' && LA12_41<='\uFFFF')) ) {s = 106;}
+
+                        else s = 45;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA12_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA12_0=='A') ) {s = 1;}
+
+                        else if ( (LA12_0=='{') ) {s = 2;}
+
+                        else if ( (LA12_0=='n') ) {s = 3;}
+
+                        else if ( (LA12_0=='t') ) {s = 4;}
+
+                        else if ( (LA12_0==',') ) {s = 5;}
+
+                        else if ( (LA12_0=='}') ) {s = 6;}
+
+                        else if ( (LA12_0=='a') ) {s = 7;}
+
+                        else if ( (LA12_0=='s') ) {s = 8;}
+
+                        else if ( (LA12_0=='p') ) {s = 9;}
+
+                        else if ( (LA12_0=='g') ) {s = 10;}
+
+                        else if ( (LA12_0=='T') ) {s = 11;}
+
+                        else if ( (LA12_0=='i') ) {s = 12;}
+
+                        else if ( (LA12_0=='(') ) {s = 13;}
+
+                        else if ( (LA12_0==')') ) {s = 14;}
+
+                        else if ( (LA12_0=='o') ) {s = 15;}
+
+                        else if ( (LA12_0=='r') ) {s = 16;}
+
+                        else if ( (LA12_0=='S') ) {s = 17;}
+
+                        else if ( (LA12_0=='w') ) {s = 18;}
+
+                        else if ( (LA12_0=='P') ) {s = 19;}
+
+                        else if ( (LA12_0=='v') ) {s = 20;}
+
+                        else if ( (LA12_0=='O') ) {s = 21;}
+
+                        else if ( (LA12_0=='d') ) {s = 22;}
+
+                        else if ( (LA12_0=='I') ) {s = 23;}
+
+                        else if ( (LA12_0=='L') ) {s = 24;}
+
+                        else if ( (LA12_0=='c') ) {s = 25;}
+
+                        else if ( (LA12_0=='b') ) {s = 26;}
+
+                        else if ( (LA12_0=='B') ) {s = 27;}
+
+                        else if ( (LA12_0=='M') ) {s = 28;}
+
+                        else if ( (LA12_0=='m') ) {s = 29;}
+
+                        else if ( (LA12_0=='-') ) {s = 30;}
+
+                        else if ( (LA12_0=='.') ) {s = 31;}
+
+                        else if ( (LA12_0=='E') ) {s = 32;}
+
+                        else if ( (LA12_0=='e') ) {s = 33;}
+
+                        else if ( (LA12_0=='W') ) {s = 34;}
+
+                        else if ( (LA12_0=='u') ) {s = 35;}
+
+                        else if ( (LA12_0=='l') ) {s = 36;}
+
+                        else if ( (LA12_0=='R') ) {s = 37;}
+
+                        else if ( (LA12_0=='^') ) {s = 38;}
+
+                        else if ( ((LA12_0>='C' && LA12_0<='D')||(LA12_0>='F' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||LA12_0=='N'||LA12_0=='Q'||(LA12_0>='U' && LA12_0<='V')||(LA12_0>='X' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='f'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='k')||LA12_0=='q'||(LA12_0>='x' && LA12_0<='z')) ) {s = 39;}
+
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 40;}
+
+                        else if ( (LA12_0=='\"') ) {s = 41;}
+
+                        else if ( (LA12_0=='\'') ) {s = 42;}
+
+                        else if ( (LA12_0=='/') ) {s = 43;}
+
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 44;}
+
+                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 45;}
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 12, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+ 
+
+}
\ No newline at end of file
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLangParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLangParser.java
new file mode 100644
index 0000000000000000000000000000000000000000..d1155240236c7a9b9c5c927a4e384bd924a06a11
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLangParser.java
@@ -0,0 +1,8507 @@
+package edu.kit.ipd.descartes.parser.antlr.internal; 
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStaLangParser extends AbstractInternalAntlrParser {
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'AdaptationProcess'", "'{'", "'name'", "'tactics'", "','", "'}'", "'actions'", "'strategies'", "'parameters'", "'goal'", "'Tactic'", "'inputParams'", "'('", "')'", "'outputParam'", "'implementedPlan'", "'Action'", "'referredAdaptationPoint'", "'adaptationActionOperation'", "'Strategy'", "'objective'", "'triggeringEvents'", "'weightingFunction'", "'Parameter'", "'type'", "'value'", "'OverallGoal'", "'description'", "'objectives'", "'ImportDeclaration'", "'AdaptationPlan'", "'steps'", "'StartAction'", "'predecessor'", "'successor'", "'StopAction'", "'LoopAction'", "'counter'", "'body'", "'BranchAction'", "'condition'", "'context'", "'conditionTrueBranch'", "'conditionFalseBranch'", "'ActionReference'", "'refersTo'", "'AdaptationActionOperation'", "'adaptationOperationScope'", "'adaptationOperationDirection'", "'ModelVariableConfigurationRange'", "'minValue'", "'maxValue'", "'adaptableEntity'", "'ModelEntityConfigurationRange'", "'variationPossibility'", "'-'", "'.'", "'E'", "'e'", "'PropertyRange'", "'minValueConstraint'", "'maxValueConstraint'", "'SetOfConfigurations'", "'variants'", "'valueConstraint'", "'OclConstraint'", "'oclString'", "'AdaptationScope'", "'AdaptationDirection'", "'Objective'", "'specifications'", "'Event'", "'WeightedTactic'", "'currentWeight'", "'defaultWeight'", "'usedTactic'", "'lastImpact'", "'WeightingFunction'", "'weightingFunctionImplementation'", "'weightedMetrics'", "'Specification'", "'relationalOperator'", "'metricType'", "'RelationalOperator'", "'EDate'", "'MetricValue'", "'measuredEntity'", "'WeightedMetric'", "'weight'"
+    };
+    public static final int RULE_ID=5;
+    public static final int T__29=29;
+    public static final int T__28=28;
+    public static final int T__27=27;
+    public static final int T__26=26;
+    public static final int T__25=25;
+    public static final int T__24=24;
+    public static final int T__23=23;
+    public static final int T__22=22;
+    public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
+    public static final int T__20=20;
+    public static final int EOF=-1;
+    public static final int T__93=93;
+    public static final int T__19=19;
+    public static final int T__94=94;
+    public static final int T__91=91;
+    public static final int T__92=92;
+    public static final int T__16=16;
+    public static final int T__15=15;
+    public static final int T__90=90;
+    public static final int T__18=18;
+    public static final int T__17=17;
+    public static final int T__12=12;
+    public static final int T__11=11;
+    public static final int T__14=14;
+    public static final int T__13=13;
+    public static final int T__99=99;
+    public static final int T__98=98;
+    public static final int T__97=97;
+    public static final int T__96=96;
+    public static final int T__95=95;
+    public static final int T__80=80;
+    public static final int T__81=81;
+    public static final int T__82=82;
+    public static final int T__83=83;
+    public static final int T__85=85;
+    public static final int T__84=84;
+    public static final int T__87=87;
+    public static final int T__86=86;
+    public static final int T__89=89;
+    public static final int T__88=88;
+    public static final int RULE_ML_COMMENT=7;
+    public static final int RULE_STRING=4;
+    public static final int T__71=71;
+    public static final int T__72=72;
+    public static final int T__70=70;
+    public static final int T__76=76;
+    public static final int T__75=75;
+    public static final int T__74=74;
+    public static final int T__73=73;
+    public static final int T__79=79;
+    public static final int T__78=78;
+    public static final int T__77=77;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__66=66;
+    public static final int T__67=67;
+    public static final int T__64=64;
+    public static final int T__65=65;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__61=61;
+    public static final int T__60=60;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__52=52;
+    public static final int T__53=53;
+    public static final int T__54=54;
+    public static final int T__59=59;
+    public static final int RULE_INT=6;
+    public static final int T__50=50;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int RULE_SL_COMMENT=8;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int RULE_WS=9;
+
+    // delegates
+    // delegators
+
+
+        public InternalStaLangParser(TokenStream input) {
+            this(input, new RecognizerSharedState());
+        }
+        public InternalStaLangParser(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+             
+        }
+        
+
+    public String[] getTokenNames() { return InternalStaLangParser.tokenNames; }
+    public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g"; }
+
+
+
+     	private StaLangGrammarAccess grammarAccess;
+     	
+        public InternalStaLangParser(TokenStream input, StaLangGrammarAccess grammarAccess) {
+            this(input);
+            this.grammarAccess = grammarAccess;
+            registerRules(grammarAccess.getGrammar());
+        }
+        
+        @Override
+        protected String getFirstRuleName() {
+        	return "AdaptationProcess";	
+       	}
+       	
+       	@Override
+       	protected StaLangGrammarAccess getGrammarAccess() {
+       		return grammarAccess;
+       	}
+
+
+
+    // $ANTLR start "entryRuleAdaptationProcess"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:67:1: entryRuleAdaptationProcess returns [EObject current=null] : iv_ruleAdaptationProcess= ruleAdaptationProcess EOF ;
+    public final EObject entryRuleAdaptationProcess() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleAdaptationProcess = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:68:2: (iv_ruleAdaptationProcess= ruleAdaptationProcess EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:69:2: iv_ruleAdaptationProcess= ruleAdaptationProcess EOF
+            {
+             newCompositeNode(grammarAccess.getAdaptationProcessRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationProcess_in_entryRuleAdaptationProcess75);
+            iv_ruleAdaptationProcess=ruleAdaptationProcess();
+
+            state._fsp--;
+
+             current =iv_ruleAdaptationProcess; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationProcess85); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAdaptationProcess"
+
+
+    // $ANTLR start "ruleAdaptationProcess"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:76:1: ruleAdaptationProcess returns [EObject current=null] : (otherlv_0= 'AdaptationProcess' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'tactics' otherlv_6= '{' ( (lv_tactics_7_0= ruleTactic ) ) (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )* otherlv_10= '}' otherlv_11= 'actions' otherlv_12= '{' ( (lv_actions_13_0= ruleAction ) ) (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )* otherlv_16= '}' otherlv_17= 'strategies' otherlv_18= '{' ( (lv_strategies_19_0= ruleStrategy ) ) (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )* otherlv_22= '}' (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )? otherlv_29= 'goal' ( (lv_goal_30_0= ruleOverallGoal ) ) ( (lv_importDeclaration_31_0= ruleImportDeclaration ) )? otherlv_32= '}' ) ;
+    public final EObject ruleAdaptationProcess() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        Token otherlv_11=null;
+        Token otherlv_12=null;
+        Token otherlv_14=null;
+        Token otherlv_16=null;
+        Token otherlv_17=null;
+        Token otherlv_18=null;
+        Token otherlv_20=null;
+        Token otherlv_22=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+        Token otherlv_26=null;
+        Token otherlv_28=null;
+        Token otherlv_29=null;
+        Token otherlv_32=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_tactics_7_0 = null;
+
+        EObject lv_tactics_9_0 = null;
+
+        EObject lv_actions_13_0 = null;
+
+        EObject lv_actions_15_0 = null;
+
+        EObject lv_strategies_19_0 = null;
+
+        EObject lv_strategies_21_0 = null;
+
+        EObject lv_parameters_25_0 = null;
+
+        EObject lv_parameters_27_0 = null;
+
+        EObject lv_goal_30_0 = null;
+
+        EObject lv_importDeclaration_31_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:79:28: ( (otherlv_0= 'AdaptationProcess' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'tactics' otherlv_6= '{' ( (lv_tactics_7_0= ruleTactic ) ) (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )* otherlv_10= '}' otherlv_11= 'actions' otherlv_12= '{' ( (lv_actions_13_0= ruleAction ) ) (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )* otherlv_16= '}' otherlv_17= 'strategies' otherlv_18= '{' ( (lv_strategies_19_0= ruleStrategy ) ) (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )* otherlv_22= '}' (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )? otherlv_29= 'goal' ( (lv_goal_30_0= ruleOverallGoal ) ) ( (lv_importDeclaration_31_0= ruleImportDeclaration ) )? otherlv_32= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:80:1: (otherlv_0= 'AdaptationProcess' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'tactics' otherlv_6= '{' ( (lv_tactics_7_0= ruleTactic ) ) (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )* otherlv_10= '}' otherlv_11= 'actions' otherlv_12= '{' ( (lv_actions_13_0= ruleAction ) ) (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )* otherlv_16= '}' otherlv_17= 'strategies' otherlv_18= '{' ( (lv_strategies_19_0= ruleStrategy ) ) (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )* otherlv_22= '}' (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )? otherlv_29= 'goal' ( (lv_goal_30_0= ruleOverallGoal ) ) ( (lv_importDeclaration_31_0= ruleImportDeclaration ) )? otherlv_32= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:80:1: (otherlv_0= 'AdaptationProcess' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'tactics' otherlv_6= '{' ( (lv_tactics_7_0= ruleTactic ) ) (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )* otherlv_10= '}' otherlv_11= 'actions' otherlv_12= '{' ( (lv_actions_13_0= ruleAction ) ) (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )* otherlv_16= '}' otherlv_17= 'strategies' otherlv_18= '{' ( (lv_strategies_19_0= ruleStrategy ) ) (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )* otherlv_22= '}' (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )? otherlv_29= 'goal' ( (lv_goal_30_0= ruleOverallGoal ) ) ( (lv_importDeclaration_31_0= ruleImportDeclaration ) )? otherlv_32= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:80:3: otherlv_0= 'AdaptationProcess' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'tactics' otherlv_6= '{' ( (lv_tactics_7_0= ruleTactic ) ) (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )* otherlv_10= '}' otherlv_11= 'actions' otherlv_12= '{' ( (lv_actions_13_0= ruleAction ) ) (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )* otherlv_16= '}' otherlv_17= 'strategies' otherlv_18= '{' ( (lv_strategies_19_0= ruleStrategy ) ) (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )* otherlv_22= '}' (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )? otherlv_29= 'goal' ( (lv_goal_30_0= ruleOverallGoal ) ) ( (lv_importDeclaration_31_0= ruleImportDeclaration ) )? otherlv_32= '}'
+            {
+            otherlv_0=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleAdaptationProcess122); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:84:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:85:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:85:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:86:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationProcess143);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess155); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAdaptationProcess167); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getAdaptationProcessAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:110:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:111:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:111:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:112:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationProcess188);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleAdaptationProcess200); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5());
+                
+            otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess212); 
+
+                	newLeafNode(otherlv_6, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:136:1: ( (lv_tactics_7_0= ruleTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:137:1: (lv_tactics_7_0= ruleTactic )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:137:1: (lv_tactics_7_0= ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:138:3: lv_tactics_7_0= ruleTactic
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_ruleAdaptationProcess233);
+            lv_tactics_7_0=ruleTactic();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"tactics",
+                    		lv_tactics_7_0, 
+                    		"Tactic");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:154:2: (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )*
+            loop1:
+            do {
+                int alt1=2;
+                int LA1_0 = input.LA(1);
+
+                if ( (LA1_0==15) ) {
+                    alt1=1;
+                }
+
+
+                switch (alt1) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:154:4: otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) )
+            	    {
+            	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess246); 
+
+            	        	newLeafNode(otherlv_8, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:158:1: ( (lv_tactics_9_0= ruleTactic ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:159:1: (lv_tactics_9_0= ruleTactic )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:159:1: (lv_tactics_9_0= ruleTactic )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:160:3: lv_tactics_9_0= ruleTactic
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleTactic_in_ruleAdaptationProcess267);
+            	    lv_tactics_9_0=ruleTactic();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"tactics",
+            	            		lv_tactics_9_0, 
+            	            		"Tactic");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop1;
+                }
+            } while (true);
+
+            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess281); 
+
+                	newLeafNode(otherlv_10, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9());
+                
+            otherlv_11=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleAdaptationProcess293); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10());
+                
+            otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess305); 
+
+                	newLeafNode(otherlv_12, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:188:1: ( (lv_actions_13_0= ruleAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:189:1: (lv_actions_13_0= ruleAction )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:189:1: (lv_actions_13_0= ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:190:3: lv_actions_13_0= ruleAction
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleAdaptationProcess326);
+            lv_actions_13_0=ruleAction();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"actions",
+                    		lv_actions_13_0, 
+                    		"Action");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:206:2: (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+
+                if ( (LA2_0==15) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:206:4: otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) )
+            	    {
+            	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess339); 
+
+            	        	newLeafNode(otherlv_14, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:210:1: ( (lv_actions_15_0= ruleAction ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:211:1: (lv_actions_15_0= ruleAction )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:211:1: (lv_actions_15_0= ruleAction )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:212:3: lv_actions_15_0= ruleAction
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleAdaptationProcess360);
+            	    lv_actions_15_0=ruleAction();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"actions",
+            	            		lv_actions_15_0, 
+            	            		"Action");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+            otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess374); 
+
+                	newLeafNode(otherlv_16, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14());
+                
+            otherlv_17=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleAdaptationProcess386); 
+
+                	newLeafNode(otherlv_17, grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15());
+                
+            otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess398); 
+
+                	newLeafNode(otherlv_18, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:240:1: ( (lv_strategies_19_0= ruleStrategy ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:241:1: (lv_strategies_19_0= ruleStrategy )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:241:1: (lv_strategies_19_0= ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:242:3: lv_strategies_19_0= ruleStrategy
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_ruleAdaptationProcess419);
+            lv_strategies_19_0=ruleStrategy();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"strategies",
+                    		lv_strategies_19_0, 
+                    		"Strategy");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:258:2: (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )*
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+
+                if ( (LA3_0==15) ) {
+                    alt3=1;
+                }
+
+
+                switch (alt3) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:258:4: otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) )
+            	    {
+            	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess432); 
+
+            	        	newLeafNode(otherlv_20, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:262:1: ( (lv_strategies_21_0= ruleStrategy ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:263:1: (lv_strategies_21_0= ruleStrategy )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:263:1: (lv_strategies_21_0= ruleStrategy )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:264:3: lv_strategies_21_0= ruleStrategy
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_ruleAdaptationProcess453);
+            	    lv_strategies_21_0=ruleStrategy();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"strategies",
+            	            		lv_strategies_21_0, 
+            	            		"Strategy");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop3;
+                }
+            } while (true);
+
+            otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess467); 
+
+                	newLeafNode(otherlv_22, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:284:1: (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )?
+            int alt5=2;
+            int LA5_0 = input.LA(1);
+
+            if ( (LA5_0==19) ) {
+                alt5=1;
+            }
+            switch (alt5) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:284:3: otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}'
+                    {
+                    otherlv_23=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleAdaptationProcess480); 
+
+                        	newLeafNode(otherlv_23, grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0());
+                        
+                    otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess492); 
+
+                        	newLeafNode(otherlv_24, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:292:1: ( (lv_parameters_25_0= ruleParameter ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:293:1: (lv_parameters_25_0= ruleParameter )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:293:1: (lv_parameters_25_0= ruleParameter )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:294:3: lv_parameters_25_0= ruleParameter
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleAdaptationProcess513);
+                    lv_parameters_25_0=ruleParameter();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+                    	        }
+                           		add(
+                           			current, 
+                           			"parameters",
+                            		lv_parameters_25_0, 
+                            		"Parameter");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:310:2: (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )*
+                    loop4:
+                    do {
+                        int alt4=2;
+                        int LA4_0 = input.LA(1);
+
+                        if ( (LA4_0==15) ) {
+                            alt4=1;
+                        }
+
+
+                        switch (alt4) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:310:4: otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) )
+                    	    {
+                    	    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess526); 
+
+                    	        	newLeafNode(otherlv_26, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0());
+                    	        
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:314:1: ( (lv_parameters_27_0= ruleParameter ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:315:1: (lv_parameters_27_0= ruleParameter )
+                    	    {
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:315:1: (lv_parameters_27_0= ruleParameter )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:316:3: lv_parameters_27_0= ruleParameter
+                    	    {
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleAdaptationProcess547);
+                    	    lv_parameters_27_0=ruleParameter();
+
+                    	    state._fsp--;
+
+
+                    	    	        if (current==null) {
+                    	    	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+                    	    	        }
+                    	           		add(
+                    	           			current, 
+                    	           			"parameters",
+                    	            		lv_parameters_27_0, 
+                    	            		"Parameter");
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop4;
+                        }
+                    } while (true);
+
+                    otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess561); 
+
+                        	newLeafNode(otherlv_28, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            otherlv_29=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleAdaptationProcess575); 
+
+                	newLeafNode(otherlv_29, grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:340:1: ( (lv_goal_30_0= ruleOverallGoal ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:341:1: (lv_goal_30_0= ruleOverallGoal )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:341:1: (lv_goal_30_0= ruleOverallGoal )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:342:3: lv_goal_30_0= ruleOverallGoal
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_ruleAdaptationProcess596);
+            lv_goal_30_0=ruleOverallGoal();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"goal",
+                    		lv_goal_30_0, 
+                    		"OverallGoal");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:358:2: ( (lv_importDeclaration_31_0= ruleImportDeclaration ) )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0==40) ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:359:1: (lv_importDeclaration_31_0= ruleImportDeclaration )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:359:1: (lv_importDeclaration_31_0= ruleImportDeclaration )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:360:3: lv_importDeclaration_31_0= ruleImportDeclaration
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getImportDeclarationImportDeclarationParserRuleCall_23_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleImportDeclaration_in_ruleAdaptationProcess617);
+                    lv_importDeclaration_31_0=ruleImportDeclaration();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
+                    	        }
+                           		set(
+                           			current, 
+                           			"importDeclaration",
+                            		lv_importDeclaration_31_0, 
+                            		"ImportDeclaration");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_32=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess630); 
+
+                	newLeafNode(otherlv_32, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_24());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAdaptationProcess"
+
+
+    // $ANTLR start "entryRuleAbstractControlFlowElement"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:390:1: entryRuleAbstractControlFlowElement returns [EObject current=null] : iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF ;
+    public final EObject entryRuleAbstractControlFlowElement() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleAbstractControlFlowElement = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:391:2: (iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:392:2: iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF
+            {
+             newCompositeNode(grammarAccess.getAbstractControlFlowElementRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement668);
+            iv_ruleAbstractControlFlowElement=ruleAbstractControlFlowElement();
+
+            state._fsp--;
+
+             current =iv_ruleAbstractControlFlowElement; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractControlFlowElement678); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAbstractControlFlowElement"
+
+
+    // $ANTLR start "ruleAbstractControlFlowElement"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:399:1: ruleAbstractControlFlowElement returns [EObject current=null] : (this_StartAction_0= ruleStartAction | this_StopAction_1= ruleStopAction | this_LoopAction_2= ruleLoopAction | this_BranchAction_3= ruleBranchAction | this_ActionReference_4= ruleActionReference ) ;
+    public final EObject ruleAbstractControlFlowElement() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_StartAction_0 = null;
+
+        EObject this_StopAction_1 = null;
+
+        EObject this_LoopAction_2 = null;
+
+        EObject this_BranchAction_3 = null;
+
+        EObject this_ActionReference_4 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:402:28: ( (this_StartAction_0= ruleStartAction | this_StopAction_1= ruleStopAction | this_LoopAction_2= ruleLoopAction | this_BranchAction_3= ruleBranchAction | this_ActionReference_4= ruleActionReference ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:403:1: (this_StartAction_0= ruleStartAction | this_StopAction_1= ruleStopAction | this_LoopAction_2= ruleLoopAction | this_BranchAction_3= ruleBranchAction | this_ActionReference_4= ruleActionReference )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:403:1: (this_StartAction_0= ruleStartAction | this_StopAction_1= ruleStopAction | this_LoopAction_2= ruleLoopAction | this_BranchAction_3= ruleBranchAction | this_ActionReference_4= ruleActionReference )
+            int alt7=5;
+            switch ( input.LA(1) ) {
+            case 43:
+                {
+                alt7=1;
+                }
+                break;
+            case 46:
+                {
+                alt7=2;
+                }
+                break;
+            case 47:
+                {
+                alt7=3;
+                }
+                break;
+            case 50:
+                {
+                alt7=4;
+                }
+                break;
+            case 55:
+                {
+                alt7=5;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 7, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt7) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:404:5: this_StartAction_0= ruleStartAction
+                    {
+                     
+                            newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_ruleAbstractControlFlowElement725);
+                    this_StartAction_0=ruleStartAction();
+
+                    state._fsp--;
+
+                     
+                            current = this_StartAction_0; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:414:5: this_StopAction_1= ruleStopAction
+                    {
+                     
+                            newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_ruleAbstractControlFlowElement752);
+                    this_StopAction_1=ruleStopAction();
+
+                    state._fsp--;
+
+                     
+                            current = this_StopAction_1; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+                case 3 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:424:5: this_LoopAction_2= ruleLoopAction
+                    {
+                     
+                            newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_ruleAbstractControlFlowElement779);
+                    this_LoopAction_2=ruleLoopAction();
+
+                    state._fsp--;
+
+                     
+                            current = this_LoopAction_2; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+                case 4 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:434:5: this_BranchAction_3= ruleBranchAction
+                    {
+                     
+                            newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_ruleAbstractControlFlowElement806);
+                    this_BranchAction_3=ruleBranchAction();
+
+                    state._fsp--;
+
+                     
+                            current = this_BranchAction_3; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+                case 5 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:444:5: this_ActionReference_4= ruleActionReference
+                    {
+                     
+                            newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_ruleAbstractControlFlowElement833);
+                    this_ActionReference_4=ruleActionReference();
+
+                    state._fsp--;
+
+                     
+                            current = this_ActionReference_4; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAbstractControlFlowElement"
+
+
+    // $ANTLR start "entryRuleVariationType"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:460:1: entryRuleVariationType returns [EObject current=null] : iv_ruleVariationType= ruleVariationType EOF ;
+    public final EObject entryRuleVariationType() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleVariationType = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:461:2: (iv_ruleVariationType= ruleVariationType EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:462:2: iv_ruleVariationType= ruleVariationType EOF
+            {
+             newCompositeNode(grammarAccess.getVariationTypeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleVariationType_in_entryRuleVariationType868);
+            iv_ruleVariationType=ruleVariationType();
+
+            state._fsp--;
+
+             current =iv_ruleVariationType; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVariationType878); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleVariationType"
+
+
+    // $ANTLR start "ruleVariationType"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:469:1: ruleVariationType returns [EObject current=null] : (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations ) ;
+    public final EObject ruleVariationType() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_PropertyRange_0 = null;
+
+        EObject this_SetOfConfigurations_1 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:472:28: ( (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:473:1: (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:473:1: (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
+
+            if ( (LA8_0==70) ) {
+                alt8=1;
+            }
+            else if ( (LA8_0==73) ) {
+                alt8=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 8, 0, input);
+
+                throw nvae;
+            }
+            switch (alt8) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:474:5: this_PropertyRange_0= rulePropertyRange
+                    {
+                     
+                            newCompositeNode(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_ruleVariationType925);
+                    this_PropertyRange_0=rulePropertyRange();
+
+                    state._fsp--;
+
+                     
+                            current = this_PropertyRange_0; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:484:5: this_SetOfConfigurations_1= ruleSetOfConfigurations
+                    {
+                     
+                            newCompositeNode(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); 
+                        
+                    pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_ruleVariationType952);
+                    this_SetOfConfigurations_1=ruleSetOfConfigurations();
+
+                    state._fsp--;
+
+                     
+                            current = this_SetOfConfigurations_1; 
+                            afterParserOrEnumRuleCall();
+                        
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleVariationType"
+
+
+    // $ANTLR start "entryRuleEString"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:500:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
+    public final String entryRuleEString() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleEString = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:501:2: (iv_ruleEString= ruleEString EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:502:2: iv_ruleEString= ruleEString EOF
+            {
+             newCompositeNode(grammarAccess.getEStringRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString988);
+            iv_ruleEString=ruleEString();
+
+            state._fsp--;
+
+             current =iv_ruleEString.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString999); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEString"
+
+
+    // $ANTLR start "ruleEString"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:509:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
+    public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token this_STRING_0=null;
+        Token this_ID_1=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:512:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:513:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:513:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0==RULE_STRING) ) {
+                alt9=1;
+            }
+            else if ( (LA9_0==RULE_ID) ) {
+                alt9=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 9, 0, input);
+
+                throw nvae;
+            }
+            switch (alt9) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:513:6: this_STRING_0= RULE_STRING
+                    {
+                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString1039); 
+
+                    		current.merge(this_STRING_0);
+                        
+                     
+                        newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:521:10: this_ID_1= RULE_ID
+                    {
+                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString1065); 
+
+                    		current.merge(this_ID_1);
+                        
+                     
+                        newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEString"
+
+
+    // $ANTLR start "entryRuleTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:536:1: entryRuleTactic returns [EObject current=null] : iv_ruleTactic= ruleTactic EOF ;
+    public final EObject entryRuleTactic() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleTactic = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:537:2: (iv_ruleTactic= ruleTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:538:2: iv_ruleTactic= ruleTactic EOF
+            {
+             newCompositeNode(grammarAccess.getTacticRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_entryRuleTactic1110);
+            iv_ruleTactic=ruleTactic();
+
+            state._fsp--;
+
+             current =iv_ruleTactic; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTactic1120); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleTactic"
+
+
+    // $ANTLR start "ruleTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:545:1: ruleTactic returns [EObject current=null] : (otherlv_0= 'Tactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'outputParam' ( ( ruleEString ) ) )? otherlv_13= 'implementedPlan' ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' ) ;
+    public final EObject ruleTactic() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        Token otherlv_11=null;
+        Token otherlv_13=null;
+        Token otherlv_15=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_implementedPlan_14_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:548:28: ( (otherlv_0= 'Tactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'outputParam' ( ( ruleEString ) ) )? otherlv_13= 'implementedPlan' ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:549:1: (otherlv_0= 'Tactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'outputParam' ( ( ruleEString ) ) )? otherlv_13= 'implementedPlan' ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:549:1: (otherlv_0= 'Tactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'outputParam' ( ( ruleEString ) ) )? otherlv_13= 'implementedPlan' ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:549:3: otherlv_0= 'Tactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'outputParam' ( ( ruleEString ) ) )? otherlv_13= 'implementedPlan' ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) ) otherlv_15= '}'
+            {
+            otherlv_0=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleTactic1157); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getTacticAccess().getTacticKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:553:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:554:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:554:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:555:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1178);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleTactic1190); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleTactic1202); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getTacticAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:579:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:580:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:580:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:581:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1223);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:597:2: (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
+            int alt11=2;
+            int LA11_0 = input.LA(1);
+
+            if ( (LA11_0==22) ) {
+                alt11=1;
+            }
+            switch (alt11) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:597:4: otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
+                    {
+                    otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTactic1236); 
+
+                        	newLeafNode(otherlv_5, grammarAccess.getTacticAccess().getInputParamsKeyword_5_0());
+                        
+                    otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleTactic1248); 
+
+                        	newLeafNode(otherlv_6, grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:605:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:606:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:606:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:607:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getTacticRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1271);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:620:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
+                    loop10:
+                    do {
+                        int alt10=2;
+                        int LA10_0 = input.LA(1);
+
+                        if ( (LA10_0==15) ) {
+                            alt10=1;
+                        }
+
+
+                        switch (alt10) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:620:4: otherlv_8= ',' ( ( ruleEString ) )
+                    	    {
+                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleTactic1284); 
+
+                    	        	newLeafNode(otherlv_8, grammarAccess.getTacticAccess().getCommaKeyword_5_3_0());
+                    	        
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:624:1: ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:625:1: ( ruleEString )
+                    	    {
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:625:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:626:3: ruleEString
+                    	    {
+
+                    	    			if (current==null) {
+                    	    	            current = createModelElement(grammarAccess.getTacticRule());
+                    	    	        }
+                    	            
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1307);
+                    	    ruleEString();
+
+                    	    state._fsp--;
+
+                    	     
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop10;
+                        }
+                    } while (true);
+
+                    otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleTactic1321); 
+
+                        	newLeafNode(otherlv_10, grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:643:3: (otherlv_11= 'outputParam' ( ( ruleEString ) ) )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
+
+            if ( (LA12_0==25) ) {
+                alt12=1;
+            }
+            switch (alt12) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:643:5: otherlv_11= 'outputParam' ( ( ruleEString ) )
+                    {
+                    otherlv_11=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleTactic1336); 
+
+                        	newLeafNode(otherlv_11, grammarAccess.getTacticAccess().getOutputParamKeyword_6_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:647:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:648:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:648:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:649:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getTacticRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1359);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_13=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleTactic1373); 
+
+                	newLeafNode(otherlv_13, grammarAccess.getTacticAccess().getImplementedPlanKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:666:1: ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:667:1: (lv_implementedPlan_14_0= ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:667:1: (lv_implementedPlan_14_0= ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:668:3: lv_implementedPlan_14_0= ruleAdaptationPlan
+            {
+             
+            	        newCompositeNode(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleTactic1394);
+            lv_implementedPlan_14_0=ruleAdaptationPlan();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"implementedPlan",
+                    		lv_implementedPlan_14_0, 
+                    		"AdaptationPlan");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_15=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleTactic1406); 
+
+                	newLeafNode(otherlv_15, grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleTactic"
+
+
+    // $ANTLR start "entryRuleAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:696:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ;
+    public final EObject entryRuleAction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleAction = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:697:2: (iv_ruleAction= ruleAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:698:2: iv_ruleAction= ruleAction EOF
+            {
+             newCompositeNode(grammarAccess.getActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction1442);
+            iv_ruleAction=ruleAction();
+
+            state._fsp--;
+
+             current =iv_ruleAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction1452); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAction"
+
+
+    // $ANTLR start "ruleAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:705:1: ruleAction returns [EObject current=null] : (otherlv_0= 'Action' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'outputParam' ( ( ruleEString ) ) )? (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )? otherlv_13= 'referredAdaptationPoint' ( ( ruleEString ) ) otherlv_15= 'adaptationActionOperation' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' ) ;
+    public final EObject ruleAction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        Token otherlv_12=null;
+        Token otherlv_13=null;
+        Token otherlv_15=null;
+        Token otherlv_17=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_adaptationActionOperation_16_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:708:28: ( (otherlv_0= 'Action' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'outputParam' ( ( ruleEString ) ) )? (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )? otherlv_13= 'referredAdaptationPoint' ( ( ruleEString ) ) otherlv_15= 'adaptationActionOperation' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:709:1: (otherlv_0= 'Action' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'outputParam' ( ( ruleEString ) ) )? (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )? otherlv_13= 'referredAdaptationPoint' ( ( ruleEString ) ) otherlv_15= 'adaptationActionOperation' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:709:1: (otherlv_0= 'Action' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'outputParam' ( ( ruleEString ) ) )? (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )? otherlv_13= 'referredAdaptationPoint' ( ( ruleEString ) ) otherlv_15= 'adaptationActionOperation' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:709:3: otherlv_0= 'Action' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'outputParam' ( ( ruleEString ) ) )? (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )? otherlv_13= 'referredAdaptationPoint' ( ( ruleEString ) ) otherlv_15= 'adaptationActionOperation' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}'
+            {
+            otherlv_0=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleAction1489); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getActionAccess().getActionKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:713:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:714:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:714:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:715:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1510);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAction1522); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAction1534); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:739:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:740:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:740:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:741:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1555);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:757:2: (otherlv_5= 'outputParam' ( ( ruleEString ) ) )?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==25) ) {
+                alt13=1;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:757:4: otherlv_5= 'outputParam' ( ( ruleEString ) )
+                    {
+                    otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleAction1568); 
+
+                        	newLeafNode(otherlv_5, grammarAccess.getActionAccess().getOutputParamKeyword_5_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:761:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:762:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:762:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:763:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1591);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:776:4: (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+
+            if ( (LA15_0==22) ) {
+                alt15=1;
+            }
+            switch (alt15) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:776:6: otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')'
+                    {
+                    otherlv_7=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleAction1606); 
+
+                        	newLeafNode(otherlv_7, grammarAccess.getActionAccess().getInputParamsKeyword_6_0());
+                        
+                    otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleAction1618); 
+
+                        	newLeafNode(otherlv_8, grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:784:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:785:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:785:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:786:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1641);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:799:2: (otherlv_10= ',' ( ( ruleEString ) ) )*
+                    loop14:
+                    do {
+                        int alt14=2;
+                        int LA14_0 = input.LA(1);
+
+                        if ( (LA14_0==15) ) {
+                            alt14=1;
+                        }
+
+
+                        switch (alt14) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:799:4: otherlv_10= ',' ( ( ruleEString ) )
+                    	    {
+                    	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAction1654); 
+
+                    	        	newLeafNode(otherlv_10, grammarAccess.getActionAccess().getCommaKeyword_6_3_0());
+                    	        
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:803:1: ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:804:1: ( ruleEString )
+                    	    {
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:804:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:805:3: ruleEString
+                    	    {
+
+                    	    			if (current==null) {
+                    	    	            current = createModelElement(grammarAccess.getActionRule());
+                    	    	        }
+                    	            
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1677);
+                    	    ruleEString();
+
+                    	    state._fsp--;
+
+                    	     
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop14;
+                        }
+                    } while (true);
+
+                    otherlv_12=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleAction1691); 
+
+                        	newLeafNode(otherlv_12, grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            otherlv_13=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleAction1705); 
+
+                	newLeafNode(otherlv_13, grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:826:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:827:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:827:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:828:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getActionRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1728);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_15=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleAction1740); 
+
+                	newLeafNode(otherlv_15, grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:845:1: ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:846:1: (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:846:1: (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:847:3: lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation
+            {
+             
+            	        newCompositeNode(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_ruleAction1761);
+            lv_adaptationActionOperation_16_0=ruleAdaptationActionOperation();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"adaptationActionOperation",
+                    		lv_adaptationActionOperation_16_0, 
+                    		"AdaptationActionOperation");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAction1773); 
+
+                	newLeafNode(otherlv_17, grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAction"
+
+
+    // $ANTLR start "entryRuleStrategy"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:875:1: entryRuleStrategy returns [EObject current=null] : iv_ruleStrategy= ruleStrategy EOF ;
+    public final EObject entryRuleStrategy() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleStrategy = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:876:2: (iv_ruleStrategy= ruleStrategy EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:877:2: iv_ruleStrategy= ruleStrategy EOF
+            {
+             newCompositeNode(grammarAccess.getStrategyRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_entryRuleStrategy1809);
+            iv_ruleStrategy=ruleStrategy();
+
+            state._fsp--;
+
+             current =iv_ruleStrategy; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStrategy1819); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleStrategy"
+
+
+    // $ANTLR start "ruleStrategy"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:884:1: ruleStrategy returns [EObject current=null] : (otherlv_0= 'Strategy' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'objective' ( ( ruleEString ) ) otherlv_7= 'triggeringEvents' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= '{' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= '}' otherlv_15= 'weightingFunction' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' ) ;
+    public final EObject ruleStrategy() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_10=null;
+        Token otherlv_12=null;
+        Token otherlv_14=null;
+        Token otherlv_15=null;
+        Token otherlv_17=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_triggeringEvents_8_0 = null;
+
+        EObject lv_tactics_11_0 = null;
+
+        EObject lv_tactics_13_0 = null;
+
+        EObject lv_weightingFunction_16_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:887:28: ( (otherlv_0= 'Strategy' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'objective' ( ( ruleEString ) ) otherlv_7= 'triggeringEvents' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= '{' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= '}' otherlv_15= 'weightingFunction' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:888:1: (otherlv_0= 'Strategy' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'objective' ( ( ruleEString ) ) otherlv_7= 'triggeringEvents' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= '{' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= '}' otherlv_15= 'weightingFunction' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:888:1: (otherlv_0= 'Strategy' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'objective' ( ( ruleEString ) ) otherlv_7= 'triggeringEvents' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= '{' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= '}' otherlv_15= 'weightingFunction' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:888:3: otherlv_0= 'Strategy' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'objective' ( ( ruleEString ) ) otherlv_7= 'triggeringEvents' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= '{' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= '}' otherlv_15= 'weightingFunction' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}'
+            {
+            otherlv_0=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStrategy1856); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getStrategyAccess().getStrategyKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:892:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:893:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:893:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:894:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1877);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStrategyRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStrategy1889); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleStrategy1901); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getStrategyAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:918:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:919:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:919:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:920:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1922);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStrategyRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleStrategy1934); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getStrategyAccess().getObjectiveKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:940:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:941:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:941:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:942:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getStrategyRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1957);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleStrategy1969); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:959:1: ( (lv_triggeringEvents_8_0= ruleEvent ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:960:1: (lv_triggeringEvents_8_0= ruleEvent )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:960:1: (lv_triggeringEvents_8_0= ruleEvent )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:961:3: lv_triggeringEvents_8_0= ruleEvent
+            {
+             
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_ruleStrategy1990);
+            lv_triggeringEvents_8_0=ruleEvent();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStrategyRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"triggeringEvents",
+                    		lv_triggeringEvents_8_0, 
+                    		"Event");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleStrategy2002); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getStrategyAccess().getTacticsKeyword_9());
+                
+            otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStrategy2014); 
+
+                	newLeafNode(otherlv_10, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:985:1: ( (lv_tactics_11_0= ruleWeightedTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:986:1: (lv_tactics_11_0= ruleWeightedTactic )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:986:1: (lv_tactics_11_0= ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:987:3: lv_tactics_11_0= ruleWeightedTactic
+            {
+             
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_ruleStrategy2035);
+            lv_tactics_11_0=ruleWeightedTactic();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStrategyRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"tactics",
+                    		lv_tactics_11_0, 
+                    		"WeightedTactic");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1003:2: (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+
+                if ( (LA16_0==15) ) {
+                    alt16=1;
+                }
+
+
+                switch (alt16) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1003:4: otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) )
+            	    {
+            	    otherlv_12=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleStrategy2048); 
+
+            	        	newLeafNode(otherlv_12, grammarAccess.getStrategyAccess().getCommaKeyword_12_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1007:1: ( (lv_tactics_13_0= ruleWeightedTactic ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1008:1: (lv_tactics_13_0= ruleWeightedTactic )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1008:1: (lv_tactics_13_0= ruleWeightedTactic )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1009:3: lv_tactics_13_0= ruleWeightedTactic
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_ruleStrategy2069);
+            	    lv_tactics_13_0=ruleWeightedTactic();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getStrategyRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"tactics",
+            	            		lv_tactics_13_0, 
+            	            		"WeightedTactic");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
+                }
+            } while (true);
+
+            otherlv_14=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStrategy2083); 
+
+                	newLeafNode(otherlv_14, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13());
+                
+            otherlv_15=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleStrategy2095); 
+
+                	newLeafNode(otherlv_15, grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1033:1: ( (lv_weightingFunction_16_0= ruleWeightingFunction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1034:1: (lv_weightingFunction_16_0= ruleWeightingFunction )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1034:1: (lv_weightingFunction_16_0= ruleWeightingFunction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1035:3: lv_weightingFunction_16_0= ruleWeightingFunction
+            {
+             
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_ruleStrategy2116);
+            lv_weightingFunction_16_0=ruleWeightingFunction();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStrategyRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"weightingFunction",
+                    		lv_weightingFunction_16_0, 
+                    		"WeightingFunction");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStrategy2128); 
+
+                	newLeafNode(otherlv_17, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleStrategy"
+
+
+    // $ANTLR start "entryRuleParameter"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1063:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
+    public final EObject entryRuleParameter() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleParameter = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1064:2: (iv_ruleParameter= ruleParameter EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1065:2: iv_ruleParameter= ruleParameter EOF
+            {
+             newCompositeNode(grammarAccess.getParameterRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter2164);
+            iv_ruleParameter=ruleParameter();
+
+            state._fsp--;
+
+             current =iv_ruleParameter; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter2174); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleParameter"
+
+
+    // $ANTLR start "ruleParameter"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1072:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEString ) ) otherlv_7= '}' ) ;
+    public final EObject ruleParameter() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_type_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_value_6_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1075:28: ( (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEString ) ) otherlv_7= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1076:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEString ) ) otherlv_7= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1076:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEString ) ) otherlv_7= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1076:3: otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEString ) ) otherlv_7= '}'
+            {
+            otherlv_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleParameter2211); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1080:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1081:1: (lv_name_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1081:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1082:3: lv_name_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2232);
+            lv_name_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getParameterRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleParameter2244); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleParameter2256); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getTypeKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1106:1: ( (lv_type_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1107:1: (lv_type_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1107:1: (lv_type_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1108:3: lv_type_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2277);
+            lv_type_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getParameterRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"type",
+                    		lv_type_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleParameter2289); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getValueKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1128:1: ( (lv_value_6_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1129:1: (lv_value_6_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1129:1: (lv_value_6_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1130:3: lv_value_6_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2310);
+            lv_value_6_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getParameterRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"value",
+                    		lv_value_6_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleParameter2322); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleParameter"
+
+
+    // $ANTLR start "entryRuleOverallGoal"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1158:1: entryRuleOverallGoal returns [EObject current=null] : iv_ruleOverallGoal= ruleOverallGoal EOF ;
+    public final EObject entryRuleOverallGoal() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleOverallGoal = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1159:2: (iv_ruleOverallGoal= ruleOverallGoal EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1160:2: iv_ruleOverallGoal= ruleOverallGoal EOF
+            {
+             newCompositeNode(grammarAccess.getOverallGoalRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal2358);
+            iv_ruleOverallGoal=ruleOverallGoal();
+
+            state._fsp--;
+
+             current =iv_ruleOverallGoal; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOverallGoal2368); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOverallGoal"
+
+
+    // $ANTLR start "ruleOverallGoal"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1167:1: ruleOverallGoal returns [EObject current=null] : (otherlv_0= 'OverallGoal' otherlv_1= '{' otherlv_2= 'description' ( (lv_description_3_0= ruleEString ) ) otherlv_4= 'objectives' otherlv_5= '{' ( (lv_objectives_6_0= ruleObjective ) ) (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )* otherlv_9= '}' otherlv_10= '}' ) ;
+    public final EObject ruleOverallGoal() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_10=null;
+        AntlrDatatypeRuleToken lv_description_3_0 = null;
+
+        EObject lv_objectives_6_0 = null;
+
+        EObject lv_objectives_8_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1170:28: ( (otherlv_0= 'OverallGoal' otherlv_1= '{' otherlv_2= 'description' ( (lv_description_3_0= ruleEString ) ) otherlv_4= 'objectives' otherlv_5= '{' ( (lv_objectives_6_0= ruleObjective ) ) (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )* otherlv_9= '}' otherlv_10= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1171:1: (otherlv_0= 'OverallGoal' otherlv_1= '{' otherlv_2= 'description' ( (lv_description_3_0= ruleEString ) ) otherlv_4= 'objectives' otherlv_5= '{' ( (lv_objectives_6_0= ruleObjective ) ) (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )* otherlv_9= '}' otherlv_10= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1171:1: (otherlv_0= 'OverallGoal' otherlv_1= '{' otherlv_2= 'description' ( (lv_description_3_0= ruleEString ) ) otherlv_4= 'objectives' otherlv_5= '{' ( (lv_objectives_6_0= ruleObjective ) ) (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )* otherlv_9= '}' otherlv_10= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1171:3: otherlv_0= 'OverallGoal' otherlv_1= '{' otherlv_2= 'description' ( (lv_description_3_0= ruleEString ) ) otherlv_4= 'objectives' otherlv_5= '{' ( (lv_objectives_6_0= ruleObjective ) ) (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )* otherlv_9= '}' otherlv_10= '}'
+            {
+            otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleOverallGoal2405); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0());
+                
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOverallGoal2417); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1());
+                
+            otherlv_2=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleOverallGoal2429); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1183:1: ( (lv_description_3_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1184:1: (lv_description_3_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1184:1: (lv_description_3_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1185:3: lv_description_3_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOverallGoal2450);
+            lv_description_3_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getOverallGoalRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"description",
+                    		lv_description_3_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleOverallGoal2462); 
+
+                	newLeafNode(otherlv_4, grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4());
+                
+            otherlv_5=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOverallGoal2474); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1209:1: ( (lv_objectives_6_0= ruleObjective ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1210:1: (lv_objectives_6_0= ruleObjective )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1210:1: (lv_objectives_6_0= ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1211:3: lv_objectives_6_0= ruleObjective
+            {
+             
+            	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_ruleOverallGoal2495);
+            lv_objectives_6_0=ruleObjective();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getOverallGoalRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"objectives",
+                    		lv_objectives_6_0, 
+                    		"Objective");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1227:2: (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+
+                if ( (LA17_0==15) ) {
+                    alt17=1;
+                }
+
+
+                switch (alt17) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1227:4: otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) )
+            	    {
+            	    otherlv_7=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleOverallGoal2508); 
+
+            	        	newLeafNode(otherlv_7, grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1231:1: ( (lv_objectives_8_0= ruleObjective ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1232:1: (lv_objectives_8_0= ruleObjective )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1232:1: (lv_objectives_8_0= ruleObjective )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1233:3: lv_objectives_8_0= ruleObjective
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleObjective_in_ruleOverallGoal2529);
+            	    lv_objectives_8_0=ruleObjective();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getOverallGoalRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"objectives",
+            	            		lv_objectives_8_0, 
+            	            		"Objective");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop17;
+                }
+            } while (true);
+
+            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOverallGoal2543); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8());
+                
+            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOverallGoal2555); 
+
+                	newLeafNode(otherlv_10, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOverallGoal"
+
+
+    // $ANTLR start "entryRuleImportDeclaration"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1265:1: entryRuleImportDeclaration returns [EObject current=null] : iv_ruleImportDeclaration= ruleImportDeclaration EOF ;
+    public final EObject entryRuleImportDeclaration() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleImportDeclaration = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1266:2: (iv_ruleImportDeclaration= ruleImportDeclaration EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1267:2: iv_ruleImportDeclaration= ruleImportDeclaration EOF
+            {
+             newCompositeNode(grammarAccess.getImportDeclarationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleImportDeclaration_in_entryRuleImportDeclaration2591);
+            iv_ruleImportDeclaration=ruleImportDeclaration();
+
+            state._fsp--;
+
+             current =iv_ruleImportDeclaration; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportDeclaration2601); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleImportDeclaration"
+
+
+    // $ANTLR start "ruleImportDeclaration"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1274:1: ruleImportDeclaration returns [EObject current=null] : (otherlv_0= 'ImportDeclaration' ( (lv_importURI_1_0= ruleEString ) ) ) ;
+    public final EObject ruleImportDeclaration() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        AntlrDatatypeRuleToken lv_importURI_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1277:28: ( (otherlv_0= 'ImportDeclaration' ( (lv_importURI_1_0= ruleEString ) ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1278:1: (otherlv_0= 'ImportDeclaration' ( (lv_importURI_1_0= ruleEString ) ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1278:1: (otherlv_0= 'ImportDeclaration' ( (lv_importURI_1_0= ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1278:3: otherlv_0= 'ImportDeclaration' ( (lv_importURI_1_0= ruleEString ) )
+            {
+            otherlv_0=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleImportDeclaration2638); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getImportDeclarationKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1282:1: ( (lv_importURI_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1283:1: (lv_importURI_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1283:1: (lv_importURI_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1284:3: lv_importURI_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleImportDeclaration2659);
+            lv_importURI_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getImportDeclarationRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"importURI",
+                    		lv_importURI_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleImportDeclaration"
+
+
+    // $ANTLR start "entryRuleAdaptationPlan"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1308:1: entryRuleAdaptationPlan returns [EObject current=null] : iv_ruleAdaptationPlan= ruleAdaptationPlan EOF ;
+    public final EObject entryRuleAdaptationPlan() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleAdaptationPlan = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1309:2: (iv_ruleAdaptationPlan= ruleAdaptationPlan EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1310:2: iv_ruleAdaptationPlan= ruleAdaptationPlan EOF
+            {
+             newCompositeNode(grammarAccess.getAdaptationPlanRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan2695);
+            iv_ruleAdaptationPlan=ruleAdaptationPlan();
+
+            state._fsp--;
+
+             current =iv_ruleAdaptationPlan; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationPlan2705); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAdaptationPlan"
+
+
+    // $ANTLR start "ruleAdaptationPlan"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1317:1: ruleAdaptationPlan returns [EObject current=null] : (otherlv_0= 'AdaptationPlan' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )? otherlv_11= '}' ) ;
+    public final EObject ruleAdaptationPlan() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        Token otherlv_11=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_steps_7_0 = null;
+
+        EObject lv_steps_9_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1320:28: ( (otherlv_0= 'AdaptationPlan' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )? otherlv_11= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1321:1: (otherlv_0= 'AdaptationPlan' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )? otherlv_11= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1321:1: (otherlv_0= 'AdaptationPlan' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )? otherlv_11= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1321:3: otherlv_0= 'AdaptationPlan' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )? otherlv_11= '}'
+            {
+            otherlv_0=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleAdaptationPlan2742); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1325:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1326:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1326:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1327:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationPlan2763);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationPlan2775); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAdaptationPlan2787); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getAdaptationPlanAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1351:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1352:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1352:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1353:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationPlan2808);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1369:2: (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
+
+            if ( (LA19_0==42) ) {
+                alt19=1;
+            }
+            switch (alt19) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1369:4: otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}'
+                    {
+                    otherlv_5=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleAdaptationPlan2821); 
+
+                        	newLeafNode(otherlv_5, grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0());
+                        
+                    otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationPlan2833); 
+
+                        	newLeafNode(otherlv_6, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1377:1: ( (lv_steps_7_0= ruleAbstractControlFlowElement ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1378:1: (lv_steps_7_0= ruleAbstractControlFlowElement )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1378:1: (lv_steps_7_0= ruleAbstractControlFlowElement )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1379:3: lv_steps_7_0= ruleAbstractControlFlowElement
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2854);
+                    lv_steps_7_0=ruleAbstractControlFlowElement();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+                    	        }
+                           		add(
+                           			current, 
+                           			"steps",
+                            		lv_steps_7_0, 
+                            		"AbstractControlFlowElement");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1395:2: (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )*
+                    loop18:
+                    do {
+                        int alt18=2;
+                        int LA18_0 = input.LA(1);
+
+                        if ( (LA18_0==15) ) {
+                            alt18=1;
+                        }
+
+
+                        switch (alt18) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1395:4: otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) )
+                    	    {
+                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationPlan2867); 
+
+                    	        	newLeafNode(otherlv_8, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0());
+                    	        
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1399:1: ( (lv_steps_9_0= ruleAbstractControlFlowElement ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1400:1: (lv_steps_9_0= ruleAbstractControlFlowElement )
+                    	    {
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1400:1: (lv_steps_9_0= ruleAbstractControlFlowElement )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1401:3: lv_steps_9_0= ruleAbstractControlFlowElement
+                    	    {
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2888);
+                    	    lv_steps_9_0=ruleAbstractControlFlowElement();
+
+                    	    state._fsp--;
+
+
+                    	    	        if (current==null) {
+                    	    	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+                    	    	        }
+                    	           		add(
+                    	           			current, 
+                    	           			"steps",
+                    	            		lv_steps_9_0, 
+                    	            		"AbstractControlFlowElement");
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop18;
+                        }
+                    } while (true);
+
+                    otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationPlan2902); 
+
+                        	newLeafNode(otherlv_10, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationPlan2916); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAdaptationPlan"
+
+
+    // $ANTLR start "entryRuleStartAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1433:1: entryRuleStartAction returns [EObject current=null] : iv_ruleStartAction= ruleStartAction EOF ;
+    public final EObject entryRuleStartAction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleStartAction = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1434:2: (iv_ruleStartAction= ruleStartAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1435:2: iv_ruleStartAction= ruleStartAction EOF
+            {
+             newCompositeNode(grammarAccess.getStartActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction2952);
+            iv_ruleStartAction=ruleStartAction();
+
+            state._fsp--;
+
+             current =iv_ruleStartAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction2962); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleStartAction"
+
+
+    // $ANTLR start "ruleStartAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1442:1: ruleStartAction returns [EObject current=null] : ( () otherlv_1= 'StartAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' ) ;
+    public final EObject ruleStartAction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        AntlrDatatypeRuleToken lv_id_2_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1445:28: ( ( () otherlv_1= 'StartAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1446:1: ( () otherlv_1= 'StartAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1446:1: ( () otherlv_1= 'StartAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1446:2: () otherlv_1= 'StartAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}'
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1446:2: ()
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1447:5: 
+            {
+
+                    current = forceCreateModelElement(
+                        grammarAccess.getStartActionAccess().getStartActionAction_0(),
+                        current);
+                
+
+            }
+
+            otherlv_1=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleStartAction3008); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1456:1: ( (lv_id_2_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1457:1: (lv_id_2_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1457:1: (lv_id_2_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1458:3: lv_id_2_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction3029);
+            lv_id_2_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStartActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_2_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_3=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStartAction3041); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1478:1: (otherlv_4= 'predecessor' ( ( ruleEString ) ) )?
+            int alt20=2;
+            int LA20_0 = input.LA(1);
+
+            if ( (LA20_0==44) ) {
+                alt20=1;
+            }
+            switch (alt20) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1478:3: otherlv_4= 'predecessor' ( ( ruleEString ) )
+                    {
+                    otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleStartAction3054); 
+
+                        	newLeafNode(otherlv_4, grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1482:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1483:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1483:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1484:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getStartActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction3077);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1497:4: (otherlv_6= 'successor' ( ( ruleEString ) ) )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
+
+            if ( (LA21_0==45) ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1497:6: otherlv_6= 'successor' ( ( ruleEString ) )
+                    {
+                    otherlv_6=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleStartAction3092); 
+
+                        	newLeafNode(otherlv_6, grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1501:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1502:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1502:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1503:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getStartActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction3115);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStartAction3129); 
+
+                	newLeafNode(otherlv_8, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleStartAction"
+
+
+    // $ANTLR start "entryRuleStopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1528:1: entryRuleStopAction returns [EObject current=null] : iv_ruleStopAction= ruleStopAction EOF ;
+    public final EObject entryRuleStopAction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleStopAction = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1529:2: (iv_ruleStopAction= ruleStopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1530:2: iv_ruleStopAction= ruleStopAction EOF
+            {
+             newCompositeNode(grammarAccess.getStopActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction3165);
+            iv_ruleStopAction=ruleStopAction();
+
+            state._fsp--;
+
+             current =iv_ruleStopAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction3175); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleStopAction"
+
+
+    // $ANTLR start "ruleStopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1537:1: ruleStopAction returns [EObject current=null] : ( () otherlv_1= 'StopAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' ) ;
+    public final EObject ruleStopAction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        AntlrDatatypeRuleToken lv_id_2_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1540:28: ( ( () otherlv_1= 'StopAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1541:1: ( () otherlv_1= 'StopAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1541:1: ( () otherlv_1= 'StopAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1541:2: () otherlv_1= 'StopAction' ( (lv_id_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'predecessor' ( ( ruleEString ) ) )? (otherlv_6= 'successor' ( ( ruleEString ) ) )? otherlv_8= '}'
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1541:2: ()
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1542:5: 
+            {
+
+                    current = forceCreateModelElement(
+                        grammarAccess.getStopActionAccess().getStopActionAction_0(),
+                        current);
+                
+
+            }
+
+            otherlv_1=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleStopAction3221); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1551:1: ( (lv_id_2_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1552:1: (lv_id_2_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1552:1: (lv_id_2_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1553:3: lv_id_2_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction3242);
+            lv_id_2_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getStopActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_2_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_3=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStopAction3254); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1573:1: (otherlv_4= 'predecessor' ( ( ruleEString ) ) )?
+            int alt22=2;
+            int LA22_0 = input.LA(1);
+
+            if ( (LA22_0==44) ) {
+                alt22=1;
+            }
+            switch (alt22) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1573:3: otherlv_4= 'predecessor' ( ( ruleEString ) )
+                    {
+                    otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleStopAction3267); 
+
+                        	newLeafNode(otherlv_4, grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1577:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1578:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1578:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1579:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getStopActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction3290);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1592:4: (otherlv_6= 'successor' ( ( ruleEString ) ) )?
+            int alt23=2;
+            int LA23_0 = input.LA(1);
+
+            if ( (LA23_0==45) ) {
+                alt23=1;
+            }
+            switch (alt23) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1592:6: otherlv_6= 'successor' ( ( ruleEString ) )
+                    {
+                    otherlv_6=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleStopAction3305); 
+
+                        	newLeafNode(otherlv_6, grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1596:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1597:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1597:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1598:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getStopActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction3328);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStopAction3342); 
+
+                	newLeafNode(otherlv_8, grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleStopAction"
+
+
+    // $ANTLR start "entryRuleLoopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1623:1: entryRuleLoopAction returns [EObject current=null] : iv_ruleLoopAction= ruleLoopAction EOF ;
+    public final EObject entryRuleLoopAction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleLoopAction = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1624:2: (iv_ruleLoopAction= ruleLoopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1625:2: iv_ruleLoopAction= ruleLoopAction EOF
+            {
+             newCompositeNode(grammarAccess.getLoopActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction3378);
+            iv_ruleLoopAction=ruleLoopAction();
+
+            state._fsp--;
+
+             current =iv_ruleLoopAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction3388); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleLoopAction"
+
+
+    // $ANTLR start "ruleLoopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1632:1: ruleLoopAction returns [EObject current=null] : (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'counter' ( ( ruleEString ) ) otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' ) ;
+    public final EObject ruleLoopAction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        EObject lv_body_10_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1635:28: ( (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'counter' ( ( ruleEString ) ) otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1636:1: (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'counter' ( ( ruleEString ) ) otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1636:1: (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'counter' ( ( ruleEString ) ) otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1636:3: otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'counter' ( ( ruleEString ) ) otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}'
+            {
+            otherlv_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleLoopAction3425); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1640:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1641:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1641:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1642:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3446);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getLoopActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleLoopAction3458); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1662:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
+            int alt24=2;
+            int LA24_0 = input.LA(1);
+
+            if ( (LA24_0==44) ) {
+                alt24=1;
+            }
+            switch (alt24) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1662:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
+                    {
+                    otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleLoopAction3471); 
+
+                        	newLeafNode(otherlv_3, grammarAccess.getLoopActionAccess().getPredecessorKeyword_3_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1666:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1667:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1667:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1668:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getLoopActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3494);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1681:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+
+            if ( (LA25_0==45) ) {
+                alt25=1;
+            }
+            switch (alt25) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1681:6: otherlv_5= 'successor' ( ( ruleEString ) )
+                    {
+                    otherlv_5=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleLoopAction3509); 
+
+                        	newLeafNode(otherlv_5, grammarAccess.getLoopActionAccess().getSuccessorKeyword_4_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1685:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1686:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1686:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1687:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getLoopActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3532);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_7=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleLoopAction3546); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getLoopActionAccess().getCounterKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1704:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1705:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1705:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1706:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getLoopActionRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getLoopActionAccess().getCounterParameterCrossReference_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3569);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleLoopAction3581); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getLoopActionAccess().getBodyKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1723:1: ( (lv_body_10_0= ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1724:1: (lv_body_10_0= ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1724:1: (lv_body_10_0= ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1725:3: lv_body_10_0= ruleAdaptationPlan
+            {
+             
+            	        newCompositeNode(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleLoopAction3602);
+            lv_body_10_0=ruleAdaptationPlan();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getLoopActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"body",
+                    		lv_body_10_0, 
+                    		"AdaptationPlan");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleLoopAction3614); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleLoopAction"
+
+
+    // $ANTLR start "entryRuleBranchAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1753:1: entryRuleBranchAction returns [EObject current=null] : iv_ruleBranchAction= ruleBranchAction EOF ;
+    public final EObject entryRuleBranchAction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleBranchAction = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1754:2: (iv_ruleBranchAction= ruleBranchAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1755:2: iv_ruleBranchAction= ruleBranchAction EOF
+            {
+             newCompositeNode(grammarAccess.getBranchActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction3650);
+            iv_ruleBranchAction=ruleBranchAction();
+
+            state._fsp--;
+
+             current =iv_ruleBranchAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction3660); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleBranchAction"
+
+
+    // $ANTLR start "ruleBranchAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1762:1: ruleBranchAction returns [EObject current=null] : (otherlv_0= 'BranchAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )? (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? (otherlv_9= 'context' ( ( ruleEString ) ) )? otherlv_11= 'conditionTrueBranch' ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) ) otherlv_13= 'conditionFalseBranch' ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' ) ;
+    public final EObject ruleBranchAction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
+        Token otherlv_13=null;
+        Token otherlv_15=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_condition_4_0 = null;
+
+        EObject lv_conditionTrueBranch_12_0 = null;
+
+        EObject lv_conditionFalseBranch_14_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1765:28: ( (otherlv_0= 'BranchAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )? (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? (otherlv_9= 'context' ( ( ruleEString ) ) )? otherlv_11= 'conditionTrueBranch' ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) ) otherlv_13= 'conditionFalseBranch' ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1766:1: (otherlv_0= 'BranchAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )? (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? (otherlv_9= 'context' ( ( ruleEString ) ) )? otherlv_11= 'conditionTrueBranch' ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) ) otherlv_13= 'conditionFalseBranch' ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1766:1: (otherlv_0= 'BranchAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )? (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? (otherlv_9= 'context' ( ( ruleEString ) ) )? otherlv_11= 'conditionTrueBranch' ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) ) otherlv_13= 'conditionFalseBranch' ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) ) otherlv_15= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1766:3: otherlv_0= 'BranchAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )? (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? (otherlv_9= 'context' ( ( ruleEString ) ) )? otherlv_11= 'conditionTrueBranch' ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) ) otherlv_13= 'conditionFalseBranch' ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) ) otherlv_15= '}'
+            {
+            otherlv_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleBranchAction3697); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1770:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1771:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1771:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1772:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3718);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchAction3730); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1792:1: (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
+
+            if ( (LA26_0==51) ) {
+                alt26=1;
+            }
+            switch (alt26) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1792:3: otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) )
+                    {
+                    otherlv_3=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleBranchAction3743); 
+
+                        	newLeafNode(otherlv_3, grammarAccess.getBranchActionAccess().getConditionKeyword_3_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1796:1: ( (lv_condition_4_0= ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1797:1: (lv_condition_4_0= ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1797:1: (lv_condition_4_0= ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1798:3: lv_condition_4_0= ruleEString
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3764);
+                    lv_condition_4_0=ruleEString();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
+                    	        }
+                           		set(
+                           			current, 
+                           			"condition",
+                            		lv_condition_4_0, 
+                            		"EString");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1814:4: (otherlv_5= 'predecessor' ( ( ruleEString ) ) )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
+
+            if ( (LA27_0==44) ) {
+                alt27=1;
+            }
+            switch (alt27) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1814:6: otherlv_5= 'predecessor' ( ( ruleEString ) )
+                    {
+                    otherlv_5=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBranchAction3779); 
+
+                        	newLeafNode(otherlv_5, grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1818:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1819:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1819:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1820:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getBranchActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3802);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1833:4: (otherlv_7= 'successor' ( ( ruleEString ) ) )?
+            int alt28=2;
+            int LA28_0 = input.LA(1);
+
+            if ( (LA28_0==45) ) {
+                alt28=1;
+            }
+            switch (alt28) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1833:6: otherlv_7= 'successor' ( ( ruleEString ) )
+                    {
+                    otherlv_7=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleBranchAction3817); 
+
+                        	newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1837:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1838:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1838:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1839:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getBranchActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3840);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1852:4: (otherlv_9= 'context' ( ( ruleEString ) ) )?
+            int alt29=2;
+            int LA29_0 = input.LA(1);
+
+            if ( (LA29_0==52) ) {
+                alt29=1;
+            }
+            switch (alt29) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1852:6: otherlv_9= 'context' ( ( ruleEString ) )
+                    {
+                    otherlv_9=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleBranchAction3855); 
+
+                        	newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getContextKeyword_6_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1856:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1857:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1857:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1858:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getBranchActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3878);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_11=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleBranchAction3892); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1875:1: ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1876:1: (lv_conditionTrueBranch_12_0= ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1876:1: (lv_conditionTrueBranch_12_0= ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1877:3: lv_conditionTrueBranch_12_0= ruleAdaptationPlan
+            {
+             
+            	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3913);
+            lv_conditionTrueBranch_12_0=ruleAdaptationPlan();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"conditionTrueBranch",
+                    		lv_conditionTrueBranch_12_0, 
+                    		"AdaptationPlan");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_13=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleBranchAction3925); 
+
+                	newLeafNode(otherlv_13, grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1897:1: ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1898:1: (lv_conditionFalseBranch_14_0= ruleAdaptationPlan )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1898:1: (lv_conditionFalseBranch_14_0= ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1899:3: lv_conditionFalseBranch_14_0= ruleAdaptationPlan
+            {
+             
+            	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3946);
+            lv_conditionFalseBranch_14_0=ruleAdaptationPlan();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getBranchActionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"conditionFalseBranch",
+                    		lv_conditionFalseBranch_14_0, 
+                    		"AdaptationPlan");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_15=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchAction3958); 
+
+                	newLeafNode(otherlv_15, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleBranchAction"
+
+
+    // $ANTLR start "entryRuleActionReference"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1927:1: entryRuleActionReference returns [EObject current=null] : iv_ruleActionReference= ruleActionReference EOF ;
+    public final EObject entryRuleActionReference() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleActionReference = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1928:2: (iv_ruleActionReference= ruleActionReference EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1929:2: iv_ruleActionReference= ruleActionReference EOF
+            {
+             newCompositeNode(grammarAccess.getActionReferenceRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_entryRuleActionReference3994);
+            iv_ruleActionReference=ruleActionReference();
+
+            state._fsp--;
+
+             current =iv_ruleActionReference; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActionReference4004); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleActionReference"
+
+
+    // $ANTLR start "ruleActionReference"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1936:1: ruleActionReference returns [EObject current=null] : (otherlv_0= 'ActionReference' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'refersTo' ( ( ruleEString ) ) otherlv_9= '}' ) ;
+    public final EObject ruleActionReference() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1939:28: ( (otherlv_0= 'ActionReference' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'refersTo' ( ( ruleEString ) ) otherlv_9= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1940:1: (otherlv_0= 'ActionReference' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'refersTo' ( ( ruleEString ) ) otherlv_9= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1940:1: (otherlv_0= 'ActionReference' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'refersTo' ( ( ruleEString ) ) otherlv_9= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1940:3: otherlv_0= 'ActionReference' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= 'refersTo' ( ( ruleEString ) ) otherlv_9= '}'
+            {
+            otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleActionReference4041); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1944:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1945:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1945:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1946:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference4062);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getActionReferenceRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleActionReference4074); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1966:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
+
+            if ( (LA30_0==44) ) {
+                alt30=1;
+            }
+            switch (alt30) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1966:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
+                    {
+                    otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleActionReference4087); 
+
+                        	newLeafNode(otherlv_3, grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1970:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1971:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1971:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1972:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getActionReferenceRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference4110);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1985:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
+            int alt31=2;
+            int LA31_0 = input.LA(1);
+
+            if ( (LA31_0==45) ) {
+                alt31=1;
+            }
+            switch (alt31) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1985:6: otherlv_5= 'successor' ( ( ruleEString ) )
+                    {
+                    otherlv_5=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleActionReference4125); 
+
+                        	newLeafNode(otherlv_5, grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1989:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1990:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1990:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:1991:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getActionReferenceRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference4148);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleActionReference4162); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getActionReferenceAccess().getRefersToKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2008:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2009:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2009:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2010:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getActionReferenceRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference4185);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleActionReference4197); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleActionReference"
+
+
+    // $ANTLR start "entryRuleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2035:1: entryRuleAdaptationActionOperation returns [EObject current=null] : iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF ;
+    public final EObject entryRuleAdaptationActionOperation() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleAdaptationActionOperation = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2036:2: (iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2037:2: iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF
+            {
+             newCompositeNode(grammarAccess.getAdaptationActionOperationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation4233);
+            iv_ruleAdaptationActionOperation=ruleAdaptationActionOperation();
+
+            state._fsp--;
+
+             current =iv_ruleAdaptationActionOperation; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationActionOperation4243); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAdaptationActionOperation"
+
+
+    // $ANTLR start "ruleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2044:1: ruleAdaptationActionOperation returns [EObject current=null] : (otherlv_0= 'AdaptationActionOperation' otherlv_1= '{' otherlv_2= 'adaptationOperationScope' ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) ) otherlv_4= 'adaptationOperationDirection' ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) ) otherlv_6= '}' ) ;
+    public final EObject ruleAdaptationActionOperation() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        AntlrDatatypeRuleToken lv_adaptationOperationScope_3_0 = null;
+
+        AntlrDatatypeRuleToken lv_adaptationOperationDirection_5_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2047:28: ( (otherlv_0= 'AdaptationActionOperation' otherlv_1= '{' otherlv_2= 'adaptationOperationScope' ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) ) otherlv_4= 'adaptationOperationDirection' ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) ) otherlv_6= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2048:1: (otherlv_0= 'AdaptationActionOperation' otherlv_1= '{' otherlv_2= 'adaptationOperationScope' ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) ) otherlv_4= 'adaptationOperationDirection' ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) ) otherlv_6= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2048:1: (otherlv_0= 'AdaptationActionOperation' otherlv_1= '{' otherlv_2= 'adaptationOperationScope' ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) ) otherlv_4= 'adaptationOperationDirection' ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) ) otherlv_6= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2048:3: otherlv_0= 'AdaptationActionOperation' otherlv_1= '{' otherlv_2= 'adaptationOperationScope' ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) ) otherlv_4= 'adaptationOperationDirection' ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) ) otherlv_6= '}'
+            {
+            otherlv_0=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAdaptationActionOperation4280); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0());
+                
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationActionOperation4292); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1());
+                
+            otherlv_2=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAdaptationActionOperation4304); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2060:1: ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2061:1: (lv_adaptationOperationScope_3_0= ruleAdaptationScope )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2061:1: (lv_adaptationOperationScope_3_0= ruleAdaptationScope )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2062:3: lv_adaptationOperationScope_3_0= ruleAdaptationScope
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationScope_in_ruleAdaptationActionOperation4325);
+            lv_adaptationOperationScope_3_0=ruleAdaptationScope();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationActionOperationRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"adaptationOperationScope",
+                    		lv_adaptationOperationScope_3_0, 
+                    		"AdaptationScope");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleAdaptationActionOperation4337); 
+
+                	newLeafNode(otherlv_4, grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2082:1: ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2083:1: (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2083:1: (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2084:3: lv_adaptationOperationDirection_5_0= ruleAdaptationDirection
+            {
+             
+            	        newCompositeNode(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationDirection_in_ruleAdaptationActionOperation4358);
+            lv_adaptationOperationDirection_5_0=ruleAdaptationDirection();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getAdaptationActionOperationRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"adaptationOperationDirection",
+                    		lv_adaptationOperationDirection_5_0, 
+                    		"AdaptationDirection");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationActionOperation4370); 
+
+                	newLeafNode(otherlv_6, grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAdaptationActionOperation"
+
+
+    // $ANTLR start "entryRuleModelVariableConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2112:1: entryRuleModelVariableConfigurationRange returns [EObject current=null] : iv_ruleModelVariableConfigurationRange= ruleModelVariableConfigurationRange EOF ;
+    public final EObject entryRuleModelVariableConfigurationRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleModelVariableConfigurationRange = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2113:2: (iv_ruleModelVariableConfigurationRange= ruleModelVariableConfigurationRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2114:2: iv_ruleModelVariableConfigurationRange= ruleModelVariableConfigurationRange EOF
+            {
+             newCompositeNode(grammarAccess.getModelVariableConfigurationRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange4406);
+            iv_ruleModelVariableConfigurationRange=ruleModelVariableConfigurationRange();
+
+            state._fsp--;
+
+             current =iv_ruleModelVariableConfigurationRange; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange4416); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleModelVariableConfigurationRange"
+
+
+    // $ANTLR start "ruleModelVariableConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2121:1: ruleModelVariableConfigurationRange returns [EObject current=null] : (otherlv_0= 'ModelVariableConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'minValue' ( (lv_minValue_6_0= ruleEDouble ) ) otherlv_7= 'maxValue' ( (lv_maxValue_8_0= ruleEDouble ) ) otherlv_9= 'adaptableEntity' ( ( ruleEString ) ) otherlv_11= '}' ) ;
+    public final EObject ruleModelVariableConfigurationRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_minValue_6_0 = null;
+
+        AntlrDatatypeRuleToken lv_maxValue_8_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2124:28: ( (otherlv_0= 'ModelVariableConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'minValue' ( (lv_minValue_6_0= ruleEDouble ) ) otherlv_7= 'maxValue' ( (lv_maxValue_8_0= ruleEDouble ) ) otherlv_9= 'adaptableEntity' ( ( ruleEString ) ) otherlv_11= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2125:1: (otherlv_0= 'ModelVariableConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'minValue' ( (lv_minValue_6_0= ruleEDouble ) ) otherlv_7= 'maxValue' ( (lv_maxValue_8_0= ruleEDouble ) ) otherlv_9= 'adaptableEntity' ( ( ruleEString ) ) otherlv_11= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2125:1: (otherlv_0= 'ModelVariableConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'minValue' ( (lv_minValue_6_0= ruleEDouble ) ) otherlv_7= 'maxValue' ( (lv_maxValue_8_0= ruleEDouble ) ) otherlv_9= 'adaptableEntity' ( ( ruleEString ) ) otherlv_11= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2125:3: otherlv_0= 'ModelVariableConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'minValue' ( (lv_minValue_6_0= ruleEDouble ) ) otherlv_7= 'maxValue' ( (lv_maxValue_8_0= ruleEDouble ) ) otherlv_9= 'adaptableEntity' ( ( ruleEString ) ) otherlv_11= '}'
+            {
+            otherlv_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleModelVariableConfigurationRange4453); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2129:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2130:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2130:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2131:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4474);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleModelVariableConfigurationRange4486); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleModelVariableConfigurationRange4498); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2155:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2156:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2156:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2157:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4519);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleModelVariableConfigurationRange4531); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2177:1: ( (lv_minValue_6_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2178:1: (lv_minValue_6_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2178:1: (lv_minValue_6_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2179:3: lv_minValue_6_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4552);
+            lv_minValue_6_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"minValue",
+                    		lv_minValue_6_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleModelVariableConfigurationRange4564); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2199:1: ( (lv_maxValue_8_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2200:1: (lv_maxValue_8_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2200:1: (lv_maxValue_8_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2201:3: lv_maxValue_8_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4585);
+            lv_maxValue_8_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelVariableConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"maxValue",
+                    		lv_maxValue_8_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleModelVariableConfigurationRange4597); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2221:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2222:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2222:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2223:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getModelVariableConfigurationRangeRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4620);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleModelVariableConfigurationRange4632); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleModelVariableConfigurationRange"
+
+
+    // $ANTLR start "entryRuleModelEntityConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2248:1: entryRuleModelEntityConfigurationRange returns [EObject current=null] : iv_ruleModelEntityConfigurationRange= ruleModelEntityConfigurationRange EOF ;
+    public final EObject entryRuleModelEntityConfigurationRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleModelEntityConfigurationRange = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2249:2: (iv_ruleModelEntityConfigurationRange= ruleModelEntityConfigurationRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2250:2: iv_ruleModelEntityConfigurationRange= ruleModelEntityConfigurationRange EOF
+            {
+             newCompositeNode(grammarAccess.getModelEntityConfigurationRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange4668);
+            iv_ruleModelEntityConfigurationRange=ruleModelEntityConfigurationRange();
+
+            state._fsp--;
+
+             current =iv_ruleModelEntityConfigurationRange; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange4678); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleModelEntityConfigurationRange"
+
+
+    // $ANTLR start "ruleModelEntityConfigurationRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2257:1: ruleModelEntityConfigurationRange returns [EObject current=null] : (otherlv_0= 'ModelEntityConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'adaptableEntity' ( ( ruleEString ) ) otherlv_7= 'variationPossibility' ( (lv_variationPossibility_8_0= ruleVariationType ) ) otherlv_9= '}' ) ;
+    public final EObject ruleModelEntityConfigurationRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_variationPossibility_8_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2260:28: ( (otherlv_0= 'ModelEntityConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'adaptableEntity' ( ( ruleEString ) ) otherlv_7= 'variationPossibility' ( (lv_variationPossibility_8_0= ruleVariationType ) ) otherlv_9= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2261:1: (otherlv_0= 'ModelEntityConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'adaptableEntity' ( ( ruleEString ) ) otherlv_7= 'variationPossibility' ( (lv_variationPossibility_8_0= ruleVariationType ) ) otherlv_9= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2261:1: (otherlv_0= 'ModelEntityConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'adaptableEntity' ( ( ruleEString ) ) otherlv_7= 'variationPossibility' ( (lv_variationPossibility_8_0= ruleVariationType ) ) otherlv_9= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2261:3: otherlv_0= 'ModelEntityConfigurationRange' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'adaptableEntity' ( ( ruleEString ) ) otherlv_7= 'variationPossibility' ( (lv_variationPossibility_8_0= ruleVariationType ) ) otherlv_9= '}'
+            {
+            otherlv_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleModelEntityConfigurationRange4715); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2265:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2266:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2266:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2267:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4736);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelEntityConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleModelEntityConfigurationRange4748); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleModelEntityConfigurationRange4760); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2291:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2292:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2292:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2293:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4781);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelEntityConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleModelEntityConfigurationRange4793); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2313:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2314:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2314:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2315:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getModelEntityConfigurationRangeRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4816);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleModelEntityConfigurationRange4828); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2332:1: ( (lv_variationPossibility_8_0= ruleVariationType ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2333:1: (lv_variationPossibility_8_0= ruleVariationType )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2333:1: (lv_variationPossibility_8_0= ruleVariationType )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2334:3: lv_variationPossibility_8_0= ruleVariationType
+            {
+             
+            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleVariationType_in_ruleModelEntityConfigurationRange4849);
+            lv_variationPossibility_8_0=ruleVariationType();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getModelEntityConfigurationRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"variationPossibility",
+                    		lv_variationPossibility_8_0, 
+                    		"VariationType");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleModelEntityConfigurationRange4861); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleModelEntityConfigurationRange"
+
+
+    // $ANTLR start "entryRuleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2362:1: entryRuleEDouble returns [String current=null] : iv_ruleEDouble= ruleEDouble EOF ;
+    public final String entryRuleEDouble() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleEDouble = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2363:2: (iv_ruleEDouble= ruleEDouble EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2364:2: iv_ruleEDouble= ruleEDouble EOF
+            {
+             newCompositeNode(grammarAccess.getEDoubleRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble4898);
+            iv_ruleEDouble=ruleEDouble();
+
+            state._fsp--;
+
+             current =iv_ruleEDouble.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble4909); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEDouble"
+
+
+    // $ANTLR start "ruleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2371:1: ruleEDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? (this_INT_1= RULE_INT )? kw= '.' this_INT_3= RULE_INT ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )? ) ;
+    public final AntlrDatatypeRuleToken ruleEDouble() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+        Token this_INT_1=null;
+        Token this_INT_3=null;
+        Token this_INT_7=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2374:28: ( ( (kw= '-' )? (this_INT_1= RULE_INT )? kw= '.' this_INT_3= RULE_INT ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2375:1: ( (kw= '-' )? (this_INT_1= RULE_INT )? kw= '.' this_INT_3= RULE_INT ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )? )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2375:1: ( (kw= '-' )? (this_INT_1= RULE_INT )? kw= '.' this_INT_3= RULE_INT ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2375:2: (kw= '-' )? (this_INT_1= RULE_INT )? kw= '.' this_INT_3= RULE_INT ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )?
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2375:2: (kw= '-' )?
+            int alt32=2;
+            int LA32_0 = input.LA(1);
+
+            if ( (LA32_0==66) ) {
+                alt32=1;
+            }
+            switch (alt32) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2376:2: kw= '-'
+                    {
+                    kw=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleEDouble4948); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2381:3: (this_INT_1= RULE_INT )?
+            int alt33=2;
+            int LA33_0 = input.LA(1);
+
+            if ( (LA33_0==RULE_INT) ) {
+                alt33=1;
+            }
+            switch (alt33) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2381:8: this_INT_1= RULE_INT
+                    {
+                    this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble4966); 
+
+                    		current.merge(this_INT_1);
+                        
+                     
+                        newLeafNode(this_INT_1, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            kw=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleEDouble4986); 
+
+                    current.merge(kw);
+                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
+                
+            this_INT_3=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble5001); 
+
+            		current.merge(this_INT_3);
+                
+             
+                newLeafNode(this_INT_3, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2401:1: ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )?
+            int alt36=2;
+            int LA36_0 = input.LA(1);
+
+            if ( ((LA36_0>=68 && LA36_0<=69)) ) {
+                alt36=1;
+            }
+            switch (alt36) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2401:2: (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2401:2: (kw= 'E' | kw= 'e' )
+                    int alt34=2;
+                    int LA34_0 = input.LA(1);
+
+                    if ( (LA34_0==68) ) {
+                        alt34=1;
+                    }
+                    else if ( (LA34_0==69) ) {
+                        alt34=2;
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 34, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt34) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2402:2: kw= 'E'
+                            {
+                            kw=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleEDouble5021); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
+                                
+
+                            }
+                            break;
+                        case 2 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2409:2: kw= 'e'
+                            {
+                            kw=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleEDouble5040); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2414:2: (kw= '-' )?
+                    int alt35=2;
+                    int LA35_0 = input.LA(1);
+
+                    if ( (LA35_0==66) ) {
+                        alt35=1;
+                    }
+                    switch (alt35) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2415:2: kw= '-'
+                            {
+                            kw=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleEDouble5055); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_7=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble5072); 
+
+                    		current.merge(this_INT_7);
+                        
+                     
+                        newLeafNode(this_INT_7, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEDouble"
+
+
+    // $ANTLR start "entryRulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2435:1: entryRulePropertyRange returns [EObject current=null] : iv_rulePropertyRange= rulePropertyRange EOF ;
+    public final EObject entryRulePropertyRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyRange = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2436:2: (iv_rulePropertyRange= rulePropertyRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2437:2: iv_rulePropertyRange= rulePropertyRange EOF
+            {
+             newCompositeNode(grammarAccess.getPropertyRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_entryRulePropertyRange5119);
+            iv_rulePropertyRange=rulePropertyRange();
+
+            state._fsp--;
+
+             current =iv_rulePropertyRange; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyRange5129); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyRange"
+
+
+    // $ANTLR start "rulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2444:1: rulePropertyRange returns [EObject current=null] : (otherlv_0= 'PropertyRange' otherlv_1= '{' otherlv_2= 'minValueConstraint' ( (lv_minValueConstraint_3_0= ruleOclConstraint ) ) otherlv_4= 'maxValueConstraint' ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) ) otherlv_6= '}' ) ;
+    public final EObject rulePropertyRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        EObject lv_minValueConstraint_3_0 = null;
+
+        EObject lv_maxValueConstraint_5_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2447:28: ( (otherlv_0= 'PropertyRange' otherlv_1= '{' otherlv_2= 'minValueConstraint' ( (lv_minValueConstraint_3_0= ruleOclConstraint ) ) otherlv_4= 'maxValueConstraint' ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) ) otherlv_6= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2448:1: (otherlv_0= 'PropertyRange' otherlv_1= '{' otherlv_2= 'minValueConstraint' ( (lv_minValueConstraint_3_0= ruleOclConstraint ) ) otherlv_4= 'maxValueConstraint' ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) ) otherlv_6= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2448:1: (otherlv_0= 'PropertyRange' otherlv_1= '{' otherlv_2= 'minValueConstraint' ( (lv_minValueConstraint_3_0= ruleOclConstraint ) ) otherlv_4= 'maxValueConstraint' ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) ) otherlv_6= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2448:3: otherlv_0= 'PropertyRange' otherlv_1= '{' otherlv_2= 'minValueConstraint' ( (lv_minValueConstraint_3_0= ruleOclConstraint ) ) otherlv_4= 'maxValueConstraint' ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) ) otherlv_6= '}'
+            {
+            otherlv_0=(Token)match(input,70,FollowSets000.FOLLOW_70_in_rulePropertyRange5166); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0());
+                
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePropertyRange5178); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1());
+                
+            otherlv_2=(Token)match(input,71,FollowSets000.FOLLOW_71_in_rulePropertyRange5190); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2460:1: ( (lv_minValueConstraint_3_0= ruleOclConstraint ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2461:1: (lv_minValueConstraint_3_0= ruleOclConstraint )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2461:1: (lv_minValueConstraint_3_0= ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2462:3: lv_minValueConstraint_3_0= ruleOclConstraint
+            {
+             
+            	        newCompositeNode(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_rulePropertyRange5211);
+            lv_minValueConstraint_3_0=ruleOclConstraint();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getPropertyRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"minValueConstraint",
+                    		lv_minValueConstraint_3_0, 
+                    		"OclConstraint");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,72,FollowSets000.FOLLOW_72_in_rulePropertyRange5223); 
+
+                	newLeafNode(otherlv_4, grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2482:1: ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2483:1: (lv_maxValueConstraint_5_0= ruleOclConstraint )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2483:1: (lv_maxValueConstraint_5_0= ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2484:3: lv_maxValueConstraint_5_0= ruleOclConstraint
+            {
+             
+            	        newCompositeNode(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_rulePropertyRange5244);
+            lv_maxValueConstraint_5_0=ruleOclConstraint();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getPropertyRangeRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"maxValueConstraint",
+                    		lv_maxValueConstraint_5_0, 
+                    		"OclConstraint");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePropertyRange5256); 
+
+                	newLeafNode(otherlv_6, grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyRange"
+
+
+    // $ANTLR start "entryRuleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2512:1: entryRuleSetOfConfigurations returns [EObject current=null] : iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF ;
+    public final EObject entryRuleSetOfConfigurations() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleSetOfConfigurations = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2513:2: (iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2514:2: iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF
+            {
+             newCompositeNode(grammarAccess.getSetOfConfigurationsRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations5292);
+            iv_ruleSetOfConfigurations=ruleSetOfConfigurations();
+
+            state._fsp--;
+
+             current =iv_ruleSetOfConfigurations; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetOfConfigurations5302); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleSetOfConfigurations"
+
+
+    // $ANTLR start "ruleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2521:1: ruleSetOfConfigurations returns [EObject current=null] : (otherlv_0= 'SetOfConfigurations' otherlv_1= '{' (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )? otherlv_8= 'valueConstraint' ( (lv_valueConstraint_9_0= ruleOclConstraint ) ) otherlv_10= '}' ) ;
+    public final EObject ruleSetOfConfigurations() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        EObject lv_valueConstraint_9_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2524:28: ( (otherlv_0= 'SetOfConfigurations' otherlv_1= '{' (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )? otherlv_8= 'valueConstraint' ( (lv_valueConstraint_9_0= ruleOclConstraint ) ) otherlv_10= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2525:1: (otherlv_0= 'SetOfConfigurations' otherlv_1= '{' (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )? otherlv_8= 'valueConstraint' ( (lv_valueConstraint_9_0= ruleOclConstraint ) ) otherlv_10= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2525:1: (otherlv_0= 'SetOfConfigurations' otherlv_1= '{' (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )? otherlv_8= 'valueConstraint' ( (lv_valueConstraint_9_0= ruleOclConstraint ) ) otherlv_10= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2525:3: otherlv_0= 'SetOfConfigurations' otherlv_1= '{' (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )? otherlv_8= 'valueConstraint' ( (lv_valueConstraint_9_0= ruleOclConstraint ) ) otherlv_10= '}'
+            {
+            otherlv_0=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleSetOfConfigurations5339); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0());
+                
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSetOfConfigurations5351); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2533:1: (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )?
+            int alt38=2;
+            int LA38_0 = input.LA(1);
+
+            if ( (LA38_0==74) ) {
+                alt38=1;
+            }
+            switch (alt38) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2533:3: otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')'
+                    {
+                    otherlv_2=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleSetOfConfigurations5364); 
+
+                        	newLeafNode(otherlv_2, grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0());
+                        
+                    otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleSetOfConfigurations5376); 
+
+                        	newLeafNode(otherlv_3, grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2541:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2542:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2542:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2543:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getSetOfConfigurationsRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSetOfConfigurations5399);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2556:2: (otherlv_5= ',' ( ( ruleEString ) ) )*
+                    loop37:
+                    do {
+                        int alt37=2;
+                        int LA37_0 = input.LA(1);
+
+                        if ( (LA37_0==15) ) {
+                            alt37=1;
+                        }
+
+
+                        switch (alt37) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2556:4: otherlv_5= ',' ( ( ruleEString ) )
+                    	    {
+                    	    otherlv_5=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSetOfConfigurations5412); 
+
+                    	        	newLeafNode(otherlv_5, grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0());
+                    	        
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2560:1: ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2561:1: ( ruleEString )
+                    	    {
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2561:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2562:3: ruleEString
+                    	    {
+
+                    	    			if (current==null) {
+                    	    	            current = createModelElement(grammarAccess.getSetOfConfigurationsRule());
+                    	    	        }
+                    	            
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSetOfConfigurations5435);
+                    	    ruleEString();
+
+                    	    state._fsp--;
+
+                    	     
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop37;
+                        }
+                    } while (true);
+
+                    otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleSetOfConfigurations5449); 
+
+                        	newLeafNode(otherlv_7, grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            otherlv_8=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleSetOfConfigurations5463); 
+
+                	newLeafNode(otherlv_8, grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2583:1: ( (lv_valueConstraint_9_0= ruleOclConstraint ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2584:1: (lv_valueConstraint_9_0= ruleOclConstraint )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2584:1: (lv_valueConstraint_9_0= ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2585:3: lv_valueConstraint_9_0= ruleOclConstraint
+            {
+             
+            	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_ruleSetOfConfigurations5484);
+            lv_valueConstraint_9_0=ruleOclConstraint();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getSetOfConfigurationsRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"valueConstraint",
+                    		lv_valueConstraint_9_0, 
+                    		"OclConstraint");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSetOfConfigurations5496); 
+
+                	newLeafNode(otherlv_10, grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleSetOfConfigurations"
+
+
+    // $ANTLR start "entryRuleOclConstraint"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2613:1: entryRuleOclConstraint returns [EObject current=null] : iv_ruleOclConstraint= ruleOclConstraint EOF ;
+    public final EObject entryRuleOclConstraint() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleOclConstraint = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2614:2: (iv_ruleOclConstraint= ruleOclConstraint EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2615:2: iv_ruleOclConstraint= ruleOclConstraint EOF
+            {
+             newCompositeNode(grammarAccess.getOclConstraintRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint5532);
+            iv_ruleOclConstraint=ruleOclConstraint();
+
+            state._fsp--;
+
+             current =iv_ruleOclConstraint; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOclConstraint5542); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOclConstraint"
+
+
+    // $ANTLR start "ruleOclConstraint"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2622:1: ruleOclConstraint returns [EObject current=null] : (otherlv_0= 'OclConstraint' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'oclString' ( (lv_oclString_4_0= ruleEString ) ) otherlv_5= '}' ) ;
+    public final EObject ruleOclConstraint() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_oclString_4_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2625:28: ( (otherlv_0= 'OclConstraint' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'oclString' ( (lv_oclString_4_0= ruleEString ) ) otherlv_5= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2626:1: (otherlv_0= 'OclConstraint' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'oclString' ( (lv_oclString_4_0= ruleEString ) ) otherlv_5= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2626:1: (otherlv_0= 'OclConstraint' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'oclString' ( (lv_oclString_4_0= ruleEString ) ) otherlv_5= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2626:3: otherlv_0= 'OclConstraint' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'oclString' ( (lv_oclString_4_0= ruleEString ) ) otherlv_5= '}'
+            {
+            otherlv_0=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleOclConstraint5579); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2630:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2631:1: (lv_name_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2631:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2632:3: lv_name_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOclConstraint5600);
+            lv_name_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getOclConstraintRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOclConstraint5612); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleOclConstraint5624); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getOclConstraintAccess().getOclStringKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2656:1: ( (lv_oclString_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2657:1: (lv_oclString_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2657:1: (lv_oclString_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2658:3: lv_oclString_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOclConstraint5645);
+            lv_oclString_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getOclConstraintRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"oclString",
+                    		lv_oclString_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOclConstraint5657); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOclConstraint"
+
+
+    // $ANTLR start "entryRuleAdaptationScope"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2686:1: entryRuleAdaptationScope returns [String current=null] : iv_ruleAdaptationScope= ruleAdaptationScope EOF ;
+    public final String entryRuleAdaptationScope() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleAdaptationScope = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2687:2: (iv_ruleAdaptationScope= ruleAdaptationScope EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2688:2: iv_ruleAdaptationScope= ruleAdaptationScope EOF
+            {
+             newCompositeNode(grammarAccess.getAdaptationScopeRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope5694);
+            iv_ruleAdaptationScope=ruleAdaptationScope();
+
+            state._fsp--;
+
+             current =iv_ruleAdaptationScope.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationScope5705); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAdaptationScope"
+
+
+    // $ANTLR start "ruleAdaptationScope"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2695:1: ruleAdaptationScope returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'AdaptationScope' ;
+    public final AntlrDatatypeRuleToken ruleAdaptationScope() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2698:28: (kw= 'AdaptationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2700:2: kw= 'AdaptationScope'
+            {
+            kw=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleAdaptationScope5742); 
+
+                    current.merge(kw);
+                    newLeafNode(kw, grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
+                
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAdaptationScope"
+
+
+    // $ANTLR start "entryRuleAdaptationDirection"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2713:1: entryRuleAdaptationDirection returns [String current=null] : iv_ruleAdaptationDirection= ruleAdaptationDirection EOF ;
+    public final String entryRuleAdaptationDirection() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleAdaptationDirection = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2714:2: (iv_ruleAdaptationDirection= ruleAdaptationDirection EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2715:2: iv_ruleAdaptationDirection= ruleAdaptationDirection EOF
+            {
+             newCompositeNode(grammarAccess.getAdaptationDirectionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection5782);
+            iv_ruleAdaptationDirection=ruleAdaptationDirection();
+
+            state._fsp--;
+
+             current =iv_ruleAdaptationDirection.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationDirection5793); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleAdaptationDirection"
+
+
+    // $ANTLR start "ruleAdaptationDirection"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2722:1: ruleAdaptationDirection returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'AdaptationDirection' ;
+    public final AntlrDatatypeRuleToken ruleAdaptationDirection() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2725:28: (kw= 'AdaptationDirection' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2727:2: kw= 'AdaptationDirection'
+            {
+            kw=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleAdaptationDirection5830); 
+
+                    current.merge(kw);
+                    newLeafNode(kw, grammarAccess.getAdaptationDirectionAccess().getAdaptationDirectionKeyword()); 
+                
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleAdaptationDirection"
+
+
+    // $ANTLR start "entryRuleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2740:1: entryRuleObjective returns [EObject current=null] : iv_ruleObjective= ruleObjective EOF ;
+    public final EObject entryRuleObjective() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleObjective = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2741:2: (iv_ruleObjective= ruleObjective EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2742:2: iv_ruleObjective= ruleObjective EOF
+            {
+             newCompositeNode(grammarAccess.getObjectiveRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_entryRuleObjective5869);
+            iv_ruleObjective=ruleObjective();
+
+            state._fsp--;
+
+             current =iv_ruleObjective; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjective5879); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleObjective"
+
+
+    // $ANTLR start "ruleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2749:1: ruleObjective returns [EObject current=null] : (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specifications' otherlv_6= '{' ( (lv_specifications_7_0= ruleSpecification ) ) (otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) ) )* otherlv_10= '}' otherlv_11= '}' ) ;
+    public final EObject ruleObjective() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        Token otherlv_11=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        EObject lv_specifications_7_0 = null;
+
+        EObject lv_specifications_9_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2752:28: ( (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specifications' otherlv_6= '{' ( (lv_specifications_7_0= ruleSpecification ) ) (otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) ) )* otherlv_10= '}' otherlv_11= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2753:1: (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specifications' otherlv_6= '{' ( (lv_specifications_7_0= ruleSpecification ) ) (otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) ) )* otherlv_10= '}' otherlv_11= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2753:1: (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specifications' otherlv_6= '{' ( (lv_specifications_7_0= ruleSpecification ) ) (otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) ) )* otherlv_10= '}' otherlv_11= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2753:3: otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specifications' otherlv_6= '{' ( (lv_specifications_7_0= ruleSpecification ) ) (otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) ) )* otherlv_10= '}' otherlv_11= '}'
+            {
+            otherlv_0=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleObjective5916); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getObjectiveAccess().getObjectiveKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2757:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2758:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2758:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2759:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective5937);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleObjective5949); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleObjective5961); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getObjectiveAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2783:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2784:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2784:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2785:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective5982);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleObjective5994); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getObjectiveAccess().getSpecificationsKeyword_5());
+                
+            otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleObjective6006); 
+
+                	newLeafNode(otherlv_6, grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_6());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2809:1: ( (lv_specifications_7_0= ruleSpecification ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2810:1: (lv_specifications_7_0= ruleSpecification )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2810:1: (lv_specifications_7_0= ruleSpecification )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2811:3: lv_specifications_7_0= ruleSpecification
+            {
+             
+            	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_7_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleSpecification_in_ruleObjective6027);
+            lv_specifications_7_0=ruleSpecification();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"specifications",
+                    		lv_specifications_7_0, 
+                    		"Specification");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2827:2: (otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) ) )*
+            loop39:
+            do {
+                int alt39=2;
+                int LA39_0 = input.LA(1);
+
+                if ( (LA39_0==15) ) {
+                    alt39=1;
+                }
+
+
+                switch (alt39) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2827:4: otherlv_8= ',' ( (lv_specifications_9_0= ruleSpecification ) )
+            	    {
+            	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleObjective6040); 
+
+            	        	newLeafNode(otherlv_8, grammarAccess.getObjectiveAccess().getCommaKeyword_8_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2831:1: ( (lv_specifications_9_0= ruleSpecification ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2832:1: (lv_specifications_9_0= ruleSpecification )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2832:1: (lv_specifications_9_0= ruleSpecification )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2833:3: lv_specifications_9_0= ruleSpecification
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationsSpecificationParserRuleCall_8_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleSpecification_in_ruleObjective6061);
+            	    lv_specifications_9_0=ruleSpecification();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"specifications",
+            	            		lv_specifications_9_0, 
+            	            		"Specification");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop39;
+                }
+            } while (true);
+
+            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleObjective6075); 
+
+                	newLeafNode(otherlv_10, grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_9());
+                
+            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleObjective6087); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_10());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleObjective"
+
+
+    // $ANTLR start "entryRuleEvent"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2865:1: entryRuleEvent returns [EObject current=null] : iv_ruleEvent= ruleEvent EOF ;
+    public final EObject entryRuleEvent() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEvent = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2866:2: (iv_ruleEvent= ruleEvent EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2867:2: iv_ruleEvent= ruleEvent EOF
+            {
+             newCompositeNode(grammarAccess.getEventRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_entryRuleEvent6123);
+            iv_ruleEvent=ruleEvent();
+
+            state._fsp--;
+
+             current =iv_ruleEvent; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvent6133); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEvent"
+
+
+    // $ANTLR start "ruleEvent"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2874:1: ruleEvent returns [EObject current=null] : (otherlv_0= 'Event' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ;
+    public final EObject ruleEvent() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2877:28: ( (otherlv_0= 'Event' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2878:1: (otherlv_0= 'Event' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2878:1: (otherlv_0= 'Event' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2878:3: otherlv_0= 'Event' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}'
+            {
+            otherlv_0=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleEvent6170); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getEventAccess().getEventKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2882:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2883:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2883:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2884:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleEvent6191);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getEventRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleEvent6203); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleEvent6215); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getEventAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2908:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2909:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2909:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2910:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleEvent6236);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getEventRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleEvent6248); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEvent"
+
+
+    // $ANTLR start "entryRuleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2938:1: entryRuleWeightedTactic returns [EObject current=null] : iv_ruleWeightedTactic= ruleWeightedTactic EOF ;
+    public final EObject entryRuleWeightedTactic() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleWeightedTactic = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2939:2: (iv_ruleWeightedTactic= ruleWeightedTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2940:2: iv_ruleWeightedTactic= ruleWeightedTactic EOF
+            {
+             newCompositeNode(grammarAccess.getWeightedTacticRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic6284);
+            iv_ruleWeightedTactic=ruleWeightedTactic();
+
+            state._fsp--;
+
+             current =iv_ruleWeightedTactic; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedTactic6294); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleWeightedTactic"
+
+
+    // $ANTLR start "ruleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2947:1: ruleWeightedTactic returns [EObject current=null] : (otherlv_0= 'WeightedTactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'currentWeight' ( (lv_currentWeight_6_0= ruleEDouble ) ) otherlv_7= 'defaultWeight' ( (lv_defaultWeight_8_0= ruleEDouble ) ) otherlv_9= 'usedTactic' ( ( ruleEString ) ) (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )? otherlv_13= '}' ) ;
+    public final EObject ruleWeightedTactic() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
+        Token otherlv_13=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_currentWeight_6_0 = null;
+
+        AntlrDatatypeRuleToken lv_defaultWeight_8_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2950:28: ( (otherlv_0= 'WeightedTactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'currentWeight' ( (lv_currentWeight_6_0= ruleEDouble ) ) otherlv_7= 'defaultWeight' ( (lv_defaultWeight_8_0= ruleEDouble ) ) otherlv_9= 'usedTactic' ( ( ruleEString ) ) (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )? otherlv_13= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2951:1: (otherlv_0= 'WeightedTactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'currentWeight' ( (lv_currentWeight_6_0= ruleEDouble ) ) otherlv_7= 'defaultWeight' ( (lv_defaultWeight_8_0= ruleEDouble ) ) otherlv_9= 'usedTactic' ( ( ruleEString ) ) (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )? otherlv_13= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2951:1: (otherlv_0= 'WeightedTactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'currentWeight' ( (lv_currentWeight_6_0= ruleEDouble ) ) otherlv_7= 'defaultWeight' ( (lv_defaultWeight_8_0= ruleEDouble ) ) otherlv_9= 'usedTactic' ( ( ruleEString ) ) (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )? otherlv_13= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2951:3: otherlv_0= 'WeightedTactic' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'currentWeight' ( (lv_currentWeight_6_0= ruleEDouble ) ) otherlv_7= 'defaultWeight' ( (lv_defaultWeight_8_0= ruleEDouble ) ) otherlv_9= 'usedTactic' ( ( ruleEString ) ) (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )? otherlv_13= '}'
+            {
+            otherlv_0=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleWeightedTactic6331); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2955:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2956:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2956:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2957:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6352);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightedTactic6364); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleWeightedTactic6376); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getWeightedTacticAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2981:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2982:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2982:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:2983:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6397);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleWeightedTactic6409); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3003:1: ( (lv_currentWeight_6_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3004:1: (lv_currentWeight_6_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3004:1: (lv_currentWeight_6_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3005:3: lv_currentWeight_6_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedTactic6430);
+            lv_currentWeight_6_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"currentWeight",
+                    		lv_currentWeight_6_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleWeightedTactic6442); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3025:1: ( (lv_defaultWeight_8_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3026:1: (lv_defaultWeight_8_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3026:1: (lv_defaultWeight_8_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3027:3: lv_defaultWeight_8_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedTactic6463);
+            lv_defaultWeight_8_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"defaultWeight",
+                    		lv_defaultWeight_8_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleWeightedTactic6475); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3047:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3048:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3048:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3049:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getWeightedTacticRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6498);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3062:2: (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )?
+            int alt40=2;
+            int LA40_0 = input.LA(1);
+
+            if ( (LA40_0==87) ) {
+                alt40=1;
+            }
+            switch (alt40) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3062:4: otherlv_11= 'lastImpact' ( ( ruleEString ) )
+                    {
+                    otherlv_11=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleWeightedTactic6511); 
+
+                        	newLeafNode(otherlv_11, grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3066:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3067:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3067:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3068:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getWeightedTacticRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6534);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightedTactic6548); 
+
+                	newLeafNode(otherlv_13, grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleWeightedTactic"
+
+
+    // $ANTLR start "entryRuleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3093:1: entryRuleWeightingFunction returns [EObject current=null] : iv_ruleWeightingFunction= ruleWeightingFunction EOF ;
+    public final EObject entryRuleWeightingFunction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleWeightingFunction = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3094:2: (iv_ruleWeightingFunction= ruleWeightingFunction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3095:2: iv_ruleWeightingFunction= ruleWeightingFunction EOF
+            {
+             newCompositeNode(grammarAccess.getWeightingFunctionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction6584);
+            iv_ruleWeightingFunction=ruleWeightingFunction();
+
+            state._fsp--;
+
+             current =iv_ruleWeightingFunction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightingFunction6594); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleWeightingFunction"
+
+
+    // $ANTLR start "ruleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3102:1: ruleWeightingFunction returns [EObject current=null] : (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightingFunctionImplementation' ( (lv_weightingFunctionImplementation_6_0= ruleEString ) ) otherlv_7= 'weightedMetrics' otherlv_8= '{' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) (otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) ) )* otherlv_12= '}' otherlv_13= '}' ) ;
+    public final EObject ruleWeightingFunction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
+        Token otherlv_12=null;
+        Token otherlv_13=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_weightingFunctionImplementation_6_0 = null;
+
+        EObject lv_weightedMetrics_9_0 = null;
+
+        EObject lv_weightedMetrics_11_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3105:28: ( (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightingFunctionImplementation' ( (lv_weightingFunctionImplementation_6_0= ruleEString ) ) otherlv_7= 'weightedMetrics' otherlv_8= '{' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) (otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) ) )* otherlv_12= '}' otherlv_13= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3106:1: (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightingFunctionImplementation' ( (lv_weightingFunctionImplementation_6_0= ruleEString ) ) otherlv_7= 'weightedMetrics' otherlv_8= '{' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) (otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) ) )* otherlv_12= '}' otherlv_13= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3106:1: (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightingFunctionImplementation' ( (lv_weightingFunctionImplementation_6_0= ruleEString ) ) otherlv_7= 'weightedMetrics' otherlv_8= '{' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) (otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) ) )* otherlv_12= '}' otherlv_13= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3106:3: otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightingFunctionImplementation' ( (lv_weightingFunctionImplementation_6_0= ruleEString ) ) otherlv_7= 'weightedMetrics' otherlv_8= '{' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) (otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) ) )* otherlv_12= '}' otherlv_13= '}'
+            {
+            otherlv_0=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleWeightingFunction6631); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3110:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3111:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3111:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3112:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightingFunction6652);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightingFunction6664); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleWeightingFunction6676); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getWeightingFunctionAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3136:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3137:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3137:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3138:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightingFunction6697);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleWeightingFunction6709); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3158:1: ( (lv_weightingFunctionImplementation_6_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3159:1: (lv_weightingFunctionImplementation_6_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3159:1: (lv_weightingFunctionImplementation_6_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3160:3: lv_weightingFunctionImplementation_6_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionImplementationEStringParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightingFunction6730);
+            lv_weightingFunctionImplementation_6_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"weightingFunctionImplementation",
+                    		lv_weightingFunctionImplementation_6_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleWeightingFunction6742); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_7());
+                
+            otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightingFunction6754); 
+
+                	newLeafNode(otherlv_8, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_8());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3184:1: ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3185:1: (lv_weightedMetrics_9_0= ruleWeightedMetric )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3185:1: (lv_weightedMetrics_9_0= ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3186:3: lv_weightedMetrics_9_0= ruleWeightedMetric
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_9_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6775);
+            lv_weightedMetrics_9_0=ruleWeightedMetric();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	        }
+                   		add(
+                   			current, 
+                   			"weightedMetrics",
+                    		lv_weightedMetrics_9_0, 
+                    		"WeightedMetric");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3202:2: (otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) ) )*
+            loop41:
+            do {
+                int alt41=2;
+                int LA41_0 = input.LA(1);
+
+                if ( (LA41_0==15) ) {
+                    alt41=1;
+                }
+
+
+                switch (alt41) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3202:4: otherlv_10= ',' ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) )
+            	    {
+            	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleWeightingFunction6788); 
+
+            	        	newLeafNode(otherlv_10, grammarAccess.getWeightingFunctionAccess().getCommaKeyword_10_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3206:1: ( (lv_weightedMetrics_11_0= ruleWeightedMetric ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3207:1: (lv_weightedMetrics_11_0= ruleWeightedMetric )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3207:1: (lv_weightedMetrics_11_0= ruleWeightedMetric )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3208:3: lv_weightedMetrics_11_0= ruleWeightedMetric
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_10_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6809);
+            	    lv_weightedMetrics_11_0=ruleWeightedMetric();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"weightedMetrics",
+            	            		lv_weightedMetrics_11_0, 
+            	            		"WeightedMetric");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop41;
+                }
+            } while (true);
+
+            otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightingFunction6823); 
+
+                	newLeafNode(otherlv_12, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_11());
+                
+            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightingFunction6835); 
+
+                	newLeafNode(otherlv_13, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_12());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleWeightingFunction"
+
+
+    // $ANTLR start "entryRuleSpecification"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3240:1: entryRuleSpecification returns [EObject current=null] : iv_ruleSpecification= ruleSpecification EOF ;
+    public final EObject entryRuleSpecification() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleSpecification = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3241:2: (iv_ruleSpecification= ruleSpecification EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3242:2: iv_ruleSpecification= ruleSpecification EOF
+            {
+             newCompositeNode(grammarAccess.getSpecificationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSpecification_in_entryRuleSpecification6871);
+            iv_ruleSpecification=ruleSpecification();
+
+            state._fsp--;
+
+             current =iv_ruleSpecification; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSpecification6881); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleSpecification"
+
+
+    // $ANTLR start "ruleSpecification"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3249:1: ruleSpecification returns [EObject current=null] : (otherlv_0= 'Specification' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEDouble ) ) otherlv_4= 'relationalOperator' ( (lv_relationalOperator_5_0= ruleRelationalOperator ) ) otherlv_6= 'metricType' ( ( ruleEString ) ) otherlv_8= '}' ) ;
+    public final EObject ruleSpecification() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        AntlrDatatypeRuleToken lv_value_3_0 = null;
+
+        AntlrDatatypeRuleToken lv_relationalOperator_5_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3252:28: ( (otherlv_0= 'Specification' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEDouble ) ) otherlv_4= 'relationalOperator' ( (lv_relationalOperator_5_0= ruleRelationalOperator ) ) otherlv_6= 'metricType' ( ( ruleEString ) ) otherlv_8= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3253:1: (otherlv_0= 'Specification' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEDouble ) ) otherlv_4= 'relationalOperator' ( (lv_relationalOperator_5_0= ruleRelationalOperator ) ) otherlv_6= 'metricType' ( ( ruleEString ) ) otherlv_8= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3253:1: (otherlv_0= 'Specification' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEDouble ) ) otherlv_4= 'relationalOperator' ( (lv_relationalOperator_5_0= ruleRelationalOperator ) ) otherlv_6= 'metricType' ( ( ruleEString ) ) otherlv_8= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3253:3: otherlv_0= 'Specification' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEDouble ) ) otherlv_4= 'relationalOperator' ( (lv_relationalOperator_5_0= ruleRelationalOperator ) ) otherlv_6= 'metricType' ( ( ruleEString ) ) otherlv_8= '}'
+            {
+            otherlv_0=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleSpecification6918); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getSpecificationAccess().getSpecificationKeyword_0());
+                
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSpecification6930); 
+
+                	newLeafNode(otherlv_1, grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_1());
+                
+            otherlv_2=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleSpecification6942); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getSpecificationAccess().getValueKeyword_2());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3265:1: ( (lv_value_3_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3266:1: (lv_value_3_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3266:1: (lv_value_3_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3267:3: lv_value_3_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleSpecification6963);
+            lv_value_3_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getSpecificationRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"value",
+                    		lv_value_3_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleSpecification6975); 
+
+                	newLeafNode(otherlv_4, grammarAccess.getSpecificationAccess().getRelationalOperatorKeyword_4());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3287:1: ( (lv_relationalOperator_5_0= ruleRelationalOperator ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3288:1: (lv_relationalOperator_5_0= ruleRelationalOperator )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3288:1: (lv_relationalOperator_5_0= ruleRelationalOperator )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3289:3: lv_relationalOperator_5_0= ruleRelationalOperator
+            {
+             
+            	        newCompositeNode(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleRelationalOperator_in_ruleSpecification6996);
+            lv_relationalOperator_5_0=ruleRelationalOperator();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getSpecificationRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"relationalOperator",
+                    		lv_relationalOperator_5_0, 
+                    		"RelationalOperator");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_6=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleSpecification7008); 
+
+                	newLeafNode(otherlv_6, grammarAccess.getSpecificationAccess().getMetricTypeKeyword_6());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3309:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3310:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3310:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3311:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getSpecificationRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeCrossReference_7_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSpecification7031);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSpecification7043); 
+
+                	newLeafNode(otherlv_8, grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_8());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleSpecification"
+
+
+    // $ANTLR start "entryRuleRelationalOperator"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3338:1: entryRuleRelationalOperator returns [String current=null] : iv_ruleRelationalOperator= ruleRelationalOperator EOF ;
+    public final String entryRuleRelationalOperator() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleRelationalOperator = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3339:2: (iv_ruleRelationalOperator= ruleRelationalOperator EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3340:2: iv_ruleRelationalOperator= ruleRelationalOperator EOF
+            {
+             newCompositeNode(grammarAccess.getRelationalOperatorRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleRelationalOperator_in_entryRuleRelationalOperator7082);
+            iv_ruleRelationalOperator=ruleRelationalOperator();
+
+            state._fsp--;
+
+             current =iv_ruleRelationalOperator.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRelationalOperator7093); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleRelationalOperator"
+
+
+    // $ANTLR start "ruleRelationalOperator"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3347:1: ruleRelationalOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'RelationalOperator' ;
+    public final AntlrDatatypeRuleToken ruleRelationalOperator() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3350:28: (kw= 'RelationalOperator' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3352:2: kw= 'RelationalOperator'
+            {
+            kw=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleRelationalOperator7130); 
+
+                    current.merge(kw);
+                    newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getRelationalOperatorKeyword()); 
+                
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleRelationalOperator"
+
+
+    // $ANTLR start "entryRuleEDate"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3369:1: entryRuleEDate returns [String current=null] : iv_ruleEDate= ruleEDate EOF ;
+    public final String entryRuleEDate() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleEDate = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3370:2: (iv_ruleEDate= ruleEDate EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3371:2: iv_ruleEDate= ruleEDate EOF
+            {
+             newCompositeNode(grammarAccess.getEDateRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDate_in_entryRuleEDate7174);
+            iv_ruleEDate=ruleEDate();
+
+            state._fsp--;
+
+             current =iv_ruleEDate.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDate7185); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEDate"
+
+
+    // $ANTLR start "ruleEDate"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3378:1: ruleEDate returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'EDate' ;
+    public final AntlrDatatypeRuleToken ruleEDate() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3381:28: (kw= 'EDate' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3383:2: kw= 'EDate'
+            {
+            kw=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleEDate7222); 
+
+                    current.merge(kw);
+                    newLeafNode(kw, grammarAccess.getEDateAccess().getEDateKeyword()); 
+                
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEDate"
+
+
+    // $ANTLR start "entryRuleMetricValue"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3396:1: entryRuleMetricValue returns [EObject current=null] : iv_ruleMetricValue= ruleMetricValue EOF ;
+    public final EObject entryRuleMetricValue() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleMetricValue = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3397:2: (iv_ruleMetricValue= ruleMetricValue EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3398:2: iv_ruleMetricValue= ruleMetricValue EOF
+            {
+             newCompositeNode(grammarAccess.getMetricValueRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleMetricValue_in_entryRuleMetricValue7261);
+            iv_ruleMetricValue=ruleMetricValue();
+
+            state._fsp--;
+
+             current =iv_ruleMetricValue; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMetricValue7271); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleMetricValue"
+
+
+    // $ANTLR start "ruleMetricValue"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3405:1: ruleMetricValue returns [EObject current=null] : (otherlv_0= 'MetricValue' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEDouble ) ) otherlv_7= 'measuredEntity' ( ( ruleEString ) ) otherlv_9= 'metricType' ( ( ruleEString ) ) otherlv_11= '}' ) ;
+    public final EObject ruleMetricValue() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_value_6_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3408:28: ( (otherlv_0= 'MetricValue' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEDouble ) ) otherlv_7= 'measuredEntity' ( ( ruleEString ) ) otherlv_9= 'metricType' ( ( ruleEString ) ) otherlv_11= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3409:1: (otherlv_0= 'MetricValue' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEDouble ) ) otherlv_7= 'measuredEntity' ( ( ruleEString ) ) otherlv_9= 'metricType' ( ( ruleEString ) ) otherlv_11= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3409:1: (otherlv_0= 'MetricValue' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEDouble ) ) otherlv_7= 'measuredEntity' ( ( ruleEString ) ) otherlv_9= 'metricType' ( ( ruleEString ) ) otherlv_11= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3409:3: otherlv_0= 'MetricValue' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'value' ( (lv_value_6_0= ruleEDouble ) ) otherlv_7= 'measuredEntity' ( ( ruleEString ) ) otherlv_9= 'metricType' ( ( ruleEString ) ) otherlv_11= '}'
+            {
+            otherlv_0=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleMetricValue7308); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getMetricValueAccess().getMetricValueKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3413:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3414:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3414:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3415:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue7329);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getMetricValueRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleMetricValue7341); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleMetricValue7353); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getMetricValueAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3439:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3440:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3440:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3441:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue7374);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getMetricValueRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleMetricValue7386); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getMetricValueAccess().getValueKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3461:1: ( (lv_value_6_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3462:1: (lv_value_6_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3462:1: (lv_value_6_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3463:3: lv_value_6_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleMetricValue7407);
+            lv_value_6_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getMetricValueRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"value",
+                    		lv_value_6_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleMetricValue7419); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3483:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3484:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3484:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3485:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getMetricValueRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue7442);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleMetricValue7454); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3502:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3503:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3503:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3504:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getMetricValueRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue7477);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleMetricValue7489); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleMetricValue"
+
+
+    // $ANTLR start "entryRuleWeightedMetric"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3531:1: entryRuleWeightedMetric returns [EObject current=null] : iv_ruleWeightedMetric= ruleWeightedMetric EOF ;
+    public final EObject entryRuleWeightedMetric() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleWeightedMetric = null;
+
+
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3532:2: (iv_ruleWeightedMetric= ruleWeightedMetric EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3533:2: iv_ruleWeightedMetric= ruleWeightedMetric EOF
+            {
+             newCompositeNode(grammarAccess.getWeightedMetricRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric7527);
+            iv_ruleWeightedMetric=ruleWeightedMetric();
+
+            state._fsp--;
+
+             current =iv_ruleWeightedMetric; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedMetric7537); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleWeightedMetric"
+
+
+    // $ANTLR start "ruleWeightedMetric"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3540:1: ruleWeightedMetric returns [EObject current=null] : (otherlv_0= 'WeightedMetric' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weight' ( (lv_weight_6_0= ruleEDouble ) ) otherlv_7= 'metricType' ( ( ruleEString ) ) otherlv_9= '}' ) ;
+    public final EObject ruleWeightedMetric() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_id_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_weight_6_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3543:28: ( (otherlv_0= 'WeightedMetric' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weight' ( (lv_weight_6_0= ruleEDouble ) ) otherlv_7= 'metricType' ( ( ruleEString ) ) otherlv_9= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3544:1: (otherlv_0= 'WeightedMetric' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weight' ( (lv_weight_6_0= ruleEDouble ) ) otherlv_7= 'metricType' ( ( ruleEString ) ) otherlv_9= '}' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3544:1: (otherlv_0= 'WeightedMetric' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weight' ( (lv_weight_6_0= ruleEDouble ) ) otherlv_7= 'metricType' ( ( ruleEString ) ) otherlv_9= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3544:3: otherlv_0= 'WeightedMetric' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weight' ( (lv_weight_6_0= ruleEDouble ) ) otherlv_7= 'metricType' ( ( ruleEString ) ) otherlv_9= '}'
+            {
+            otherlv_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleWeightedMetric7574); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3548:1: ( (lv_id_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3549:1: (lv_id_1_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3549:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3550:3: lv_id_1_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric7595);
+            lv_id_1_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"id",
+                    		lv_id_1_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightedMetric7607); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2());
+                
+            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleWeightedMetric7619); 
+
+                	newLeafNode(otherlv_3, grammarAccess.getWeightedMetricAccess().getNameKeyword_3());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3574:1: ( (lv_name_4_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3575:1: (lv_name_4_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3575:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3576:3: lv_name_4_0= ruleEString
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric7640);
+            lv_name_4_0=ruleEString();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_4_0, 
+                    		"EString");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_5=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleWeightedMetric7652); 
+
+                	newLeafNode(otherlv_5, grammarAccess.getWeightedMetricAccess().getWeightKeyword_5());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3596:1: ( (lv_weight_6_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3597:1: (lv_weight_6_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3597:1: (lv_weight_6_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3598:3: lv_weight_6_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedMetric7673);
+            lv_weight_6_0=ruleEDouble();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"weight",
+                    		lv_weight_6_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_7=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleWeightedMetric7685); 
+
+                	newLeafNode(otherlv_7, grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3618:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3619:1: ( ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3619:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/parser/antlr/internal/InternalStaLang.g:3620:3: ruleEString
+            {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getWeightedMetricRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric7708);
+            ruleEString();
+
+            state._fsp--;
+
+             
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightedMetric7720); 
+
+                	newLeafNode(otherlv_9, grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleWeightedMetric"
+
+    // Delegated rules
+
+
+ 
+
+    
+    private static class FollowSets000 {
+        public static final BitSet FOLLOW_ruleAdaptationProcess_in_entryRuleAdaptationProcess75 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationProcess85 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_11_in_ruleAdaptationProcess122 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAdaptationProcess143 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationProcess155 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleAdaptationProcess167 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAdaptationProcess188 = new BitSet(new long[]{0x0000000000004000L});
+        public static final BitSet FOLLOW_14_in_ruleAdaptationProcess200 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationProcess212 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_ruleTactic_in_ruleAdaptationProcess233 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess246 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_ruleTactic_in_ruleAdaptationProcess267 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess281 = new BitSet(new long[]{0x0000000000020000L});
+        public static final BitSet FOLLOW_17_in_ruleAdaptationProcess293 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationProcess305 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_ruleAction_in_ruleAdaptationProcess326 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess339 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_ruleAction_in_ruleAdaptationProcess360 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess374 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_18_in_ruleAdaptationProcess386 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationProcess398 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_ruleStrategy_in_ruleAdaptationProcess419 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess432 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_ruleStrategy_in_ruleAdaptationProcess453 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess467 = new BitSet(new long[]{0x0000000000180000L});
+        public static final BitSet FOLLOW_19_in_ruleAdaptationProcess480 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationProcess492 = new BitSet(new long[]{0x0000000400000000L});
+        public static final BitSet FOLLOW_ruleParameter_in_ruleAdaptationProcess513 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess526 = new BitSet(new long[]{0x0000000400000000L});
+        public static final BitSet FOLLOW_ruleParameter_in_ruleAdaptationProcess547 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess561 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_20_in_ruleAdaptationProcess575 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_ruleAdaptationProcess596 = new BitSet(new long[]{0x0000010000010000L});
+        public static final BitSet FOLLOW_ruleImportDeclaration_in_ruleAdaptationProcess617 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess630 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement668 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAbstractControlFlowElement678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_ruleAbstractControlFlowElement725 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_ruleAbstractControlFlowElement752 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_ruleAbstractControlFlowElement779 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_ruleAbstractControlFlowElement806 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_ruleAbstractControlFlowElement833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleVariationType_in_entryRuleVariationType868 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleVariationType878 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyRange_in_ruleVariationType925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_ruleVariationType952 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString988 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEString999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString1039 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_ruleEString1065 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_entryRuleTactic1110 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTactic1120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_ruleTactic1157 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1178 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleTactic1190 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleTactic1202 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1223 = new BitSet(new long[]{0x0000000006400000L});
+        public static final BitSet FOLLOW_22_in_ruleTactic1236 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_23_in_ruleTactic1248 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1271 = new BitSet(new long[]{0x0000000001008000L});
+        public static final BitSet FOLLOW_15_in_ruleTactic1284 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1307 = new BitSet(new long[]{0x0000000001008000L});
+        public static final BitSet FOLLOW_24_in_ruleTactic1321 = new BitSet(new long[]{0x0000000006000000L});
+        public static final BitSet FOLLOW_25_in_ruleTactic1336 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1359 = new BitSet(new long[]{0x0000000004000000L});
+        public static final BitSet FOLLOW_26_in_ruleTactic1373 = new BitSet(new long[]{0x0000020000000000L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleTactic1394 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleTactic1406 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_entryRuleAction1442 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAction1452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_ruleAction1489 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1510 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAction1522 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleAction1534 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1555 = new BitSet(new long[]{0x0000000012400000L});
+        public static final BitSet FOLLOW_25_in_ruleAction1568 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1591 = new BitSet(new long[]{0x0000000010400000L});
+        public static final BitSet FOLLOW_22_in_ruleAction1606 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_23_in_ruleAction1618 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1641 = new BitSet(new long[]{0x0000000001008000L});
+        public static final BitSet FOLLOW_15_in_ruleAction1654 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1677 = new BitSet(new long[]{0x0000000001008000L});
+        public static final BitSet FOLLOW_24_in_ruleAction1691 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_28_in_ruleAction1705 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1728 = new BitSet(new long[]{0x0000000020000000L});
+        public static final BitSet FOLLOW_29_in_ruleAction1740 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_ruleAction1761 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleAction1773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_entryRuleStrategy1809 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStrategy1819 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_ruleStrategy1856 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1877 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleStrategy1889 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleStrategy1901 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1922 = new BitSet(new long[]{0x0000000080000000L});
+        public static final BitSet FOLLOW_31_in_ruleStrategy1934 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1957 = new BitSet(new long[]{0x0000000100000000L});
+        public static final BitSet FOLLOW_32_in_ruleStrategy1969 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_ruleEvent_in_ruleStrategy1990 = new BitSet(new long[]{0x0000000000004000L});
+        public static final BitSet FOLLOW_14_in_ruleStrategy2002 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleStrategy2014 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_ruleStrategy2035 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleStrategy2048 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_ruleStrategy2069 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleStrategy2083 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_33_in_ruleStrategy2095 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_ruleStrategy2116 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleStrategy2128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter2164 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameter2174 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_ruleParameter2211 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2232 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleParameter2244 = new BitSet(new long[]{0x0000000800000000L});
+        public static final BitSet FOLLOW_35_in_ruleParameter2256 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2277 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_36_in_ruleParameter2289 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2310 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleParameter2322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal2358 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOverallGoal2368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_ruleOverallGoal2405 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleOverallGoal2417 = new BitSet(new long[]{0x0000004000000000L});
+        public static final BitSet FOLLOW_38_in_ruleOverallGoal2429 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleOverallGoal2450 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_39_in_ruleOverallGoal2462 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleOverallGoal2474 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_ruleObjective_in_ruleOverallGoal2495 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleOverallGoal2508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_ruleObjective_in_ruleOverallGoal2529 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleOverallGoal2543 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleOverallGoal2555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImportDeclaration_in_entryRuleImportDeclaration2591 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleImportDeclaration2601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_ruleImportDeclaration2638 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleImportDeclaration2659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan2695 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationPlan2705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_ruleAdaptationPlan2742 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAdaptationPlan2763 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationPlan2775 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleAdaptationPlan2787 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAdaptationPlan2808 = new BitSet(new long[]{0x0000040000010000L});
+        public static final BitSet FOLLOW_42_in_ruleAdaptationPlan2821 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationPlan2833 = new BitSet(new long[]{0x0084C80000000000L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2854 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationPlan2867 = new BitSet(new long[]{0x0084C80000000000L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2888 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationPlan2902 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationPlan2916 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction2952 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction2962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_ruleStartAction3008 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction3029 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleStartAction3041 = new BitSet(new long[]{0x0000300000010000L});
+        public static final BitSet FOLLOW_44_in_ruleStartAction3054 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction3077 = new BitSet(new long[]{0x0000200000010000L});
+        public static final BitSet FOLLOW_45_in_ruleStartAction3092 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction3115 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleStartAction3129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction3165 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction3175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_ruleStopAction3221 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction3242 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleStopAction3254 = new BitSet(new long[]{0x0000300000010000L});
+        public static final BitSet FOLLOW_44_in_ruleStopAction3267 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction3290 = new BitSet(new long[]{0x0000200000010000L});
+        public static final BitSet FOLLOW_45_in_ruleStopAction3305 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction3328 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleStopAction3342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction3378 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction3388 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_ruleLoopAction3425 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3446 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleLoopAction3458 = new BitSet(new long[]{0x0001300000000000L});
+        public static final BitSet FOLLOW_44_in_ruleLoopAction3471 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3494 = new BitSet(new long[]{0x0001200000000000L});
+        public static final BitSet FOLLOW_45_in_ruleLoopAction3509 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3532 = new BitSet(new long[]{0x0001000000000000L});
+        public static final BitSet FOLLOW_48_in_ruleLoopAction3546 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3569 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_49_in_ruleLoopAction3581 = new BitSet(new long[]{0x0000020000000000L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleLoopAction3602 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleLoopAction3614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction3650 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction3660 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_ruleBranchAction3697 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3718 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleBranchAction3730 = new BitSet(new long[]{0x0038300000000000L});
+        public static final BitSet FOLLOW_51_in_ruleBranchAction3743 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3764 = new BitSet(new long[]{0x0030300000000000L});
+        public static final BitSet FOLLOW_44_in_ruleBranchAction3779 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3802 = new BitSet(new long[]{0x0030200000000000L});
+        public static final BitSet FOLLOW_45_in_ruleBranchAction3817 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3840 = new BitSet(new long[]{0x0030000000000000L});
+        public static final BitSet FOLLOW_52_in_ruleBranchAction3855 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3878 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_53_in_ruleBranchAction3892 = new BitSet(new long[]{0x0000020000000000L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3913 = new BitSet(new long[]{0x0040000000000000L});
+        public static final BitSet FOLLOW_54_in_ruleBranchAction3925 = new BitSet(new long[]{0x0000020000000000L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3946 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleBranchAction3958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_entryRuleActionReference3994 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleActionReference4004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleActionReference4041 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference4062 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleActionReference4074 = new BitSet(new long[]{0x0100300000000000L});
+        public static final BitSet FOLLOW_44_in_ruleActionReference4087 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference4110 = new BitSet(new long[]{0x0100200000000000L});
+        public static final BitSet FOLLOW_45_in_ruleActionReference4125 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference4148 = new BitSet(new long[]{0x0100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleActionReference4162 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference4185 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleActionReference4197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation4233 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationActionOperation4243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_ruleAdaptationActionOperation4280 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAdaptationActionOperation4292 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleAdaptationActionOperation4304 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+        public static final BitSet FOLLOW_ruleAdaptationScope_in_ruleAdaptationActionOperation4325 = new BitSet(new long[]{0x0800000000000000L});
+        public static final BitSet FOLLOW_59_in_ruleAdaptationActionOperation4337 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_ruleAdaptationDirection_in_ruleAdaptationActionOperation4358 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationActionOperation4370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange4406 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange4416 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_ruleModelVariableConfigurationRange4453 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4474 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleModelVariableConfigurationRange4486 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleModelVariableConfigurationRange4498 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4519 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleModelVariableConfigurationRange4531 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4552 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleModelVariableConfigurationRange4564 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4585 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleModelVariableConfigurationRange4597 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4620 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleModelVariableConfigurationRange4632 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange4668 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange4678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_64_in_ruleModelEntityConfigurationRange4715 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4736 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleModelEntityConfigurationRange4748 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleModelEntityConfigurationRange4760 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4781 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleModelEntityConfigurationRange4793 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4816 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_ruleModelEntityConfigurationRange4828 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000240L});
+        public static final BitSet FOLLOW_ruleVariationType_in_ruleModelEntityConfigurationRange4849 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleModelEntityConfigurationRange4861 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_entryRuleEDouble4898 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEDouble4909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_66_in_ruleEDouble4948 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000008L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble4966 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_67_in_ruleEDouble4986 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble5001 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000030L});
+        public static final BitSet FOLLOW_68_in_ruleEDouble5021 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000004L});
+        public static final BitSet FOLLOW_69_in_ruleEDouble5040 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000004L});
+        public static final BitSet FOLLOW_66_in_ruleEDouble5055 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble5072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyRange_in_entryRulePropertyRange5119 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyRange5129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rulePropertyRange5166 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_rulePropertyRange5178 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_71_in_rulePropertyRange5190 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_rulePropertyRange5211 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_72_in_rulePropertyRange5223 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_rulePropertyRange5244 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_rulePropertyRange5256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations5292 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSetOfConfigurations5302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_73_in_ruleSetOfConfigurations5339 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleSetOfConfigurations5351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000C00L});
+        public static final BitSet FOLLOW_74_in_ruleSetOfConfigurations5364 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_23_in_ruleSetOfConfigurations5376 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSetOfConfigurations5399 = new BitSet(new long[]{0x0000000001008000L});
+        public static final BitSet FOLLOW_15_in_ruleSetOfConfigurations5412 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSetOfConfigurations5435 = new BitSet(new long[]{0x0000000001008000L});
+        public static final BitSet FOLLOW_24_in_ruleSetOfConfigurations5449 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+        public static final BitSet FOLLOW_75_in_ruleSetOfConfigurations5463 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_ruleSetOfConfigurations5484 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleSetOfConfigurations5496 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint5532 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOclConstraint5542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_76_in_ruleOclConstraint5579 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleOclConstraint5600 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleOclConstraint5612 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+        public static final BitSet FOLLOW_77_in_ruleOclConstraint5624 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleOclConstraint5645 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleOclConstraint5657 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope5694 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationScope5705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_78_in_ruleAdaptationScope5742 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection5782 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationDirection5793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_ruleAdaptationDirection5830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_entryRuleObjective5869 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleObjective5879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_80_in_ruleObjective5916 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleObjective5937 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleObjective5949 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleObjective5961 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleObjective5982 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_81_in_ruleObjective5994 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleObjective6006 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
+        public static final BitSet FOLLOW_ruleSpecification_in_ruleObjective6027 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleObjective6040 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
+        public static final BitSet FOLLOW_ruleSpecification_in_ruleObjective6061 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleObjective6075 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleObjective6087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEvent_in_entryRuleEvent6123 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEvent6133 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_82_in_ruleEvent6170 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleEvent6191 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleEvent6203 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleEvent6215 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleEvent6236 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleEvent6248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic6284 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedTactic6294 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_83_in_ruleWeightedTactic6331 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6352 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleWeightedTactic6364 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleWeightedTactic6376 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6397 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
+        public static final BitSet FOLLOW_84_in_ruleWeightedTactic6409 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedTactic6430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+        public static final BitSet FOLLOW_85_in_ruleWeightedTactic6442 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedTactic6463 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+        public static final BitSet FOLLOW_86_in_ruleWeightedTactic6475 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6498 = new BitSet(new long[]{0x0000000000010000L,0x0000000000800000L});
+        public static final BitSet FOLLOW_87_in_ruleWeightedTactic6511 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6534 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleWeightedTactic6548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction6584 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightingFunction6594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_88_in_ruleWeightingFunction6631 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightingFunction6652 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleWeightingFunction6664 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleWeightingFunction6676 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightingFunction6697 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+        public static final BitSet FOLLOW_89_in_ruleWeightingFunction6709 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightingFunction6730 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+        public static final BitSet FOLLOW_90_in_ruleWeightingFunction6742 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleWeightingFunction6754 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6775 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_15_in_ruleWeightingFunction6788 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6809 = new BitSet(new long[]{0x0000000000018000L});
+        public static final BitSet FOLLOW_16_in_ruleWeightingFunction6823 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleWeightingFunction6835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecification_in_entryRuleSpecification6871 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSpecification6881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_91_in_ruleSpecification6918 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleSpecification6930 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_36_in_ruleSpecification6942 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleSpecification6963 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
+        public static final BitSet FOLLOW_92_in_ruleSpecification6975 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
+        public static final BitSet FOLLOW_ruleRelationalOperator_in_ruleSpecification6996 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+        public static final BitSet FOLLOW_93_in_ruleSpecification7008 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSpecification7031 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleSpecification7043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRelationalOperator_in_entryRuleRelationalOperator7082 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRelationalOperator7093 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_94_in_ruleRelationalOperator7130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDate_in_entryRuleEDate7174 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEDate7185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_ruleEDate7222 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMetricValue_in_entryRuleMetricValue7261 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleMetricValue7271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_96_in_ruleMetricValue7308 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue7329 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleMetricValue7341 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleMetricValue7353 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue7374 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_36_in_ruleMetricValue7386 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleMetricValue7407 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+        public static final BitSet FOLLOW_97_in_ruleMetricValue7419 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue7442 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+        public static final BitSet FOLLOW_93_in_ruleMetricValue7454 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue7477 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleMetricValue7489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric7527 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedMetric7537 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_ruleWeightedMetric7574 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric7595 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleWeightedMetric7607 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_13_in_ruleWeightedMetric7619 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric7640 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
+        public static final BitSet FOLLOW_99_in_ruleWeightedMetric7652 = new BitSet(new long[]{0x0000000000000040L,0x000000000000000CL});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedMetric7673 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+        public static final BitSet FOLLOW_93_in_ruleWeightedMetric7685 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric7708 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleWeightedMetric7720 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+
+}
\ No newline at end of file
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/serializer/AbstractStaLangSemanticSequencer.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/serializer/AbstractStaLangSemanticSequencer.java
new file mode 100644
index 0000000000000000000000000000000000000000..e12549e8171f0f4385f35bb50ef880168306a40d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/serializer/AbstractStaLangSemanticSequencer.java
@@ -0,0 +1,739 @@
+package edu.kit.ipd.descartes.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import edu.kit.ipd.descartes.core.CorePackage;
+import edu.kit.ipd.descartes.identifier.IdentifierPackage;
+import edu.kit.ipd.descartes.mm.adaptation.Action;
+import edu.kit.ipd.descartes.mm.adaptation.ActionReference;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPlan;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationProcess;
+import edu.kit.ipd.descartes.mm.adaptation.BranchAction;
+import edu.kit.ipd.descartes.mm.adaptation.Event;
+import edu.kit.ipd.descartes.mm.adaptation.ImportDeclaration;
+import edu.kit.ipd.descartes.mm.adaptation.LoopAction;
+import edu.kit.ipd.descartes.mm.adaptation.Objective;
+import edu.kit.ipd.descartes.mm.adaptation.OverallGoal;
+import edu.kit.ipd.descartes.mm.adaptation.Parameter;
+import edu.kit.ipd.descartes.mm.adaptation.Specification;
+import edu.kit.ipd.descartes.mm.adaptation.StartAction;
+import edu.kit.ipd.descartes.mm.adaptation.StopAction;
+import edu.kit.ipd.descartes.mm.adaptation.Strategy;
+import edu.kit.ipd.descartes.mm.adaptation.Tactic;
+import edu.kit.ipd.descartes.mm.adaptation.WeightedMetric;
+import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
+import edu.kit.ipd.descartes.mm.adaptation.WeightingFunction;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+import edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange;
+import edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange;
+import edu.kit.ipd.descartes.mm.adaptationpoints.OclConstraint;
+import edu.kit.ipd.descartes.mm.adaptationpoints.PropertyRange;
+import edu.kit.ipd.descartes.mm.adaptationpoints.SetOfConfigurations;
+import edu.kit.ipd.descartes.perfdatarepo.Impact;
+import edu.kit.ipd.descartes.perfdatarepo.MeasuredEntity;
+import edu.kit.ipd.descartes.perfdatarepo.MetricType;
+import edu.kit.ipd.descartes.perfdatarepo.MetricValue;
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
+import edu.kit.ipd.descartes.perfdatarepo.Result;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+
+@SuppressWarnings("all")
+public abstract class AbstractStaLangSemanticSequencer extends AbstractDelegatingSemanticSequencer {
+
+	@Inject
+	private StaLangGrammarAccess grammarAccess;
+	
+	public void createSequence(EObject context, EObject semanticObject) {
+		if(semanticObject.eClass().getEPackage() == AdaptationPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case AdaptationPackage.ACTION:
+				if(context == grammarAccess.getActionRule()) {
+					sequence_Action(context, (Action) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.ACTION_REFERENCE:
+				if(context == grammarAccess.getAbstractControlFlowElementRule() ||
+				   context == grammarAccess.getActionReferenceRule()) {
+					sequence_ActionReference(context, (ActionReference) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.ADAPTATION_ACTION_OPERATION:
+				if(context == grammarAccess.getAdaptationActionOperationRule()) {
+					sequence_AdaptationActionOperation(context, (AdaptationActionOperation) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.ADAPTATION_PLAN:
+				if(context == grammarAccess.getAdaptationPlanRule()) {
+					sequence_AdaptationPlan(context, (AdaptationPlan) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.ADAPTATION_PROCESS:
+				if(context == grammarAccess.getAdaptationProcessRule()) {
+					sequence_AdaptationProcess(context, (AdaptationProcess) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.BRANCH_ACTION:
+				if(context == grammarAccess.getAbstractControlFlowElementRule() ||
+				   context == grammarAccess.getBranchActionRule()) {
+					sequence_BranchAction(context, (BranchAction) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.EVENT:
+				if(context == grammarAccess.getEventRule()) {
+					sequence_Event(context, (Event) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.IMPORT_DECLARATION:
+				if(context == grammarAccess.getImportDeclarationRule()) {
+					sequence_ImportDeclaration(context, (ImportDeclaration) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.LOOP_ACTION:
+				if(context == grammarAccess.getAbstractControlFlowElementRule() ||
+				   context == grammarAccess.getLoopActionRule()) {
+					sequence_LoopAction(context, (LoopAction) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.OBJECTIVE:
+				if(context == grammarAccess.getObjectiveRule()) {
+					sequence_Objective(context, (Objective) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.OVERALL_GOAL:
+				if(context == grammarAccess.getOverallGoalRule()) {
+					sequence_OverallGoal(context, (OverallGoal) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.PARAMETER:
+				if(context == grammarAccess.getParameterRule()) {
+					sequence_Parameter(context, (Parameter) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.SPECIFICATION:
+				if(context == grammarAccess.getSpecificationRule()) {
+					sequence_Specification(context, (Specification) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.START_ACTION:
+				if(context == grammarAccess.getAbstractControlFlowElementRule() ||
+				   context == grammarAccess.getStartActionRule()) {
+					sequence_StartAction(context, (StartAction) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.STOP_ACTION:
+				if(context == grammarAccess.getAbstractControlFlowElementRule() ||
+				   context == grammarAccess.getStopActionRule()) {
+					sequence_StopAction(context, (StopAction) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.STRATEGY:
+				if(context == grammarAccess.getStrategyRule()) {
+					sequence_Strategy(context, (Strategy) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.TACTIC:
+				if(context == grammarAccess.getTacticRule()) {
+					sequence_Tactic(context, (Tactic) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.WEIGHTED_METRIC:
+				if(context == grammarAccess.getWeightedMetricRule()) {
+					sequence_WeightedMetric(context, (WeightedMetric) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.WEIGHTED_TACTIC:
+				if(context == grammarAccess.getWeightedTacticRule()) {
+					sequence_WeightedTactic(context, (WeightedTactic) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationPackage.WEIGHTING_FUNCTION:
+				if(context == grammarAccess.getWeightingFunctionRule()) {
+					sequence_WeightingFunction(context, (WeightingFunction) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == AdaptationpointsPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case AdaptationpointsPackage.MODEL_ENTITY_CONFIGURATION_RANGE:
+				if(context == grammarAccess.getAdaptationPointRule() ||
+				   context == grammarAccess.getModelEntityConfigurationRangeRule()) {
+					sequence_ModelEntityConfigurationRange(context, (ModelEntityConfigurationRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationpointsPackage.MODEL_VARIABLE_CONFIGURATION_RANGE:
+				if(context == grammarAccess.getAdaptationPointRule() ||
+				   context == grammarAccess.getModelVariableConfigurationRangeRule()) {
+					sequence_ModelVariableConfigurationRange(context, (ModelVariableConfigurationRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationpointsPackage.OCL_CONSTRAINT:
+				if(context == grammarAccess.getOclConstraintRule()) {
+					sequence_OclConstraint(context, (OclConstraint) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationpointsPackage.PROPERTY_RANGE:
+				if(context == grammarAccess.getPropertyRangeRule() ||
+				   context == grammarAccess.getVariationTypeRule()) {
+					sequence_PropertyRange(context, (PropertyRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case AdaptationpointsPackage.SET_OF_CONFIGURATIONS:
+				if(context == grammarAccess.getSetOfConfigurationsRule() ||
+				   context == grammarAccess.getVariationTypeRule()) {
+					sequence_SetOfConfigurations(context, (SetOfConfigurations) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == PerfdatarepoPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case PerfdatarepoPackage.IMPACT:
+				if(context == grammarAccess.getImpactRule()) {
+					sequence_Impact(context, (Impact) semanticObject); 
+					return; 
+				}
+				else break;
+			case PerfdatarepoPackage.MEASURED_ENTITY:
+				if(context == grammarAccess.getMeasuredEntityRule()) {
+					sequence_MeasuredEntity(context, (MeasuredEntity) semanticObject); 
+					return; 
+				}
+				else break;
+			case PerfdatarepoPackage.METRIC_TYPE:
+				if(context == grammarAccess.getMetricTypeRule()) {
+					sequence_MetricType(context, (MetricType) semanticObject); 
+					return; 
+				}
+				else break;
+			case PerfdatarepoPackage.METRIC_VALUE:
+				if(context == grammarAccess.getMetricValueRule()) {
+					sequence_MetricValue(context, (MetricValue) semanticObject); 
+					return; 
+				}
+				else break;
+			case PerfdatarepoPackage.RESULT:
+				if(context == grammarAccess.getResultRule()) {
+					sequence_Result(context, (Result) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+	}
+	
+	/**
+	 * Constraint:
+	 *     (id=EString predecessor=[AbstractControlFlowElement|EString]? successor=[AbstractControlFlowElement|EString]? refersTo=[Action|EString])
+	 */
+	protected void sequence_ActionReference(EObject context, ActionReference semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         name=EString 
+	 *         outputParam=[Parameter|EString]? 
+	 *         (inputParams+=[Parameter|EString] inputParams+=[Parameter|EString]*)? 
+	 *         referredAdaptationPoint=[AdaptationPoint|EString] 
+	 *         adaptationActionOperation=AdaptationActionOperation
+	 *     )
+	 */
+	protected void sequence_Action(EObject context, Action semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (adaptationOperationScope=AdaptationScope adaptationOperationDirection=AdaptationDirection)
+	 */
+	protected void sequence_AdaptationActionOperation(EObject context, AdaptationActionOperation semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_SCOPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_SCOPE));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_DIRECTION) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_DIRECTION));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0(), semanticObject.getAdaptationOperationScope());
+		feeder.accept(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0(), semanticObject.getAdaptationOperationDirection());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString (steps+=AbstractControlFlowElement steps+=AbstractControlFlowElement*)?)
+	 */
+	protected void sequence_AdaptationPlan(EObject context, AdaptationPlan semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         name=EString 
+	 *         tactics+=Tactic 
+	 *         tactics+=Tactic* 
+	 *         actions+=Action 
+	 *         actions+=Action* 
+	 *         strategies+=Strategy 
+	 *         strategies+=Strategy* 
+	 *         (parameters+=Parameter parameters+=Parameter*)? 
+	 *         goal=OverallGoal 
+	 *         importDeclaration=ImportDeclaration?
+	 *     )
+	 */
+	protected void sequence_AdaptationProcess(EObject context, AdaptationProcess semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         condition=EString? 
+	 *         predecessor=[AbstractControlFlowElement|EString]? 
+	 *         successor=[AbstractControlFlowElement|EString]? 
+	 *         context=[Entity|EString]? 
+	 *         conditionTrueBranch=AdaptationPlan 
+	 *         conditionFalseBranch=AdaptationPlan
+	 *     )
+	 */
+	protected void sequence_BranchAction(EObject context, BranchAction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString)
+	 */
+	protected void sequence_Event(EObject context, Event semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString before=[Result|EString] after=[Result|EString])
+	 */
+	protected void sequence_Impact(EObject context, Impact semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID));
+			if(transientValues.isValueTransient(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME));
+			if(transientValues.isValueTransient(semanticObject, PerfdatarepoPackage.Literals.IMPACT__BEFORE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PerfdatarepoPackage.Literals.IMPACT__BEFORE));
+			if(transientValues.isValueTransient(semanticObject, PerfdatarepoPackage.Literals.IMPACT__AFTER) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PerfdatarepoPackage.Literals.IMPACT__AFTER));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getImpactAccess().getIdEStringParserRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getImpactAccess().getNameEStringParserRuleCall_4_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getImpactAccess().getBeforeResultEStringParserRuleCall_6_0_1(), semanticObject.getBefore());
+		feeder.accept(grammarAccess.getImpactAccess().getAfterResultEStringParserRuleCall_8_0_1(), semanticObject.getAfter());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     importURI=EString
+	 */
+	protected void sequence_ImportDeclaration(EObject context, ImportDeclaration semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.IMPORT_DECLARATION__IMPORT_URI) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.IMPORT_DECLARATION__IMPORT_URI));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getImportDeclarationAccess().getImportURIEStringParserRuleCall_1_0(), semanticObject.getImportURI());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         predecessor=[AbstractControlFlowElement|EString]? 
+	 *         successor=[AbstractControlFlowElement|EString]? 
+	 *         counter=[Parameter|EString] 
+	 *         body=AdaptationPlan
+	 *     )
+	 */
+	protected void sequence_LoopAction(EObject context, LoopAction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString metricTypes+=[MetricType|EString] metricTypes+=[MetricType|EString]*)
+	 */
+	protected void sequence_MeasuredEntity(EObject context, MeasuredEntity semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString)
+	 */
+	protected void sequence_MetricType(EObject context, MetricType semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID));
+			if(transientValues.isValueTransient(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getMetricTypeAccess().getIdEStringParserRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getMetricTypeAccess().getNameEStringParserRuleCall_4_0(), semanticObject.getName());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString value=EDouble measuredEntity=[MeasuredEntity|EString] metricType=[MetricType|EString])
+	 */
+	protected void sequence_MetricValue(EObject context, MetricValue semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID));
+			if(transientValues.isValueTransient(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME));
+			if(transientValues.isValueTransient(semanticObject, PerfdatarepoPackage.Literals.METRIC_VALUE__MEASURED_ENTITY) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PerfdatarepoPackage.Literals.METRIC_VALUE__MEASURED_ENTITY));
+			if(transientValues.isValueTransient(semanticObject, PerfdatarepoPackage.Literals.METRIC_VALUE__METRIC_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PerfdatarepoPackage.Literals.METRIC_VALUE__METRIC_TYPE));
+			if(transientValues.isValueTransient(semanticObject, PerfdatarepoPackage.Literals.METRIC_VALUE__VALUE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PerfdatarepoPackage.Literals.METRIC_VALUE__VALUE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0(), semanticObject.getValue());
+		feeder.accept(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1(), semanticObject.getMeasuredEntity());
+		feeder.accept(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1(), semanticObject.getMetricType());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString adaptableEntity=[Entity|EString] variationPossibility=VariationType)
+	 */
+	protected void sequence_ModelEntityConfigurationRange(EObject context, ModelEntityConfigurationRange semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID));
+			if(transientValues.isValueTransient(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__VARIATION_POSSIBILITY) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__VARIATION_POSSIBILITY));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__ADAPTABLE_ENTITY) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__ADAPTABLE_ENTITY));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1(), semanticObject.getAdaptableEntity());
+		feeder.accept(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0(), semanticObject.getVariationPossibility());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString minValue=EDouble maxValue=EDouble adaptableEntity=[AdaptableEntity|EString])
+	 */
+	protected void sequence_ModelVariableConfigurationRange(EObject context, ModelVariableConfigurationRange semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID));
+			if(transientValues.isValueTransient(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__ADAPTABLE_ENTITY) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__ADAPTABLE_ENTITY));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__MIN_VALUE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__MIN_VALUE));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__MAX_VALUE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__MAX_VALUE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0(), semanticObject.getMinValue());
+		feeder.accept(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0(), semanticObject.getMaxValue());
+		feeder.accept(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1(), semanticObject.getAdaptableEntity());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString specifications+=Specification specifications+=Specification*)
+	 */
+	protected void sequence_Objective(EObject context, Objective semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=EString oclString=EString)
+	 */
+	protected void sequence_OclConstraint(EObject context, OclConstraint semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.OCL_CONSTRAINT__OCL_STRING) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.OCL_CONSTRAINT__OCL_STRING));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.OCL_CONSTRAINT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.OCL_CONSTRAINT__NAME));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0(), semanticObject.getOclString());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (description=EString objectives+=Objective objectives+=Objective*)
+	 */
+	protected void sequence_OverallGoal(EObject context, OverallGoal semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=EString type=EString value=EString)
+	 */
+	protected void sequence_Parameter(EObject context, Parameter semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.PARAMETER__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.PARAMETER__NAME));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.PARAMETER__TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.PARAMETER__TYPE));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.PARAMETER__VALUE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.PARAMETER__VALUE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0(), semanticObject.getType());
+		feeder.accept(grammarAccess.getParameterAccess().getValueEStringParserRuleCall_6_0(), semanticObject.getValue());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (minValueConstraint=OclConstraint maxValueConstraint=OclConstraint)
+	 */
+	protected void sequence_PropertyRange(EObject context, PropertyRange semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.PROPERTY_RANGE__MIN_VALUE_CONSTRAINT) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.PROPERTY_RANGE__MIN_VALUE_CONSTRAINT));
+			if(transientValues.isValueTransient(semanticObject, AdaptationpointsPackage.Literals.PROPERTY_RANGE__MAX_VALUE_CONSTRAINT) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationpointsPackage.Literals.PROPERTY_RANGE__MAX_VALUE_CONSTRAINT));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0(), semanticObject.getMinValueConstraint());
+		feeder.accept(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0(), semanticObject.getMaxValueConstraint());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString timestamp=EDate metricValues+=MetricValue metricValues+=MetricValue*)
+	 */
+	protected void sequence_Result(EObject context, Result semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     ((variants+=[Entity|EString] variants+=[Entity|EString]*)? valueConstraint=OclConstraint)
+	 */
+	protected void sequence_SetOfConfigurations(EObject context, SetOfConfigurations semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (value=EDouble relationalOperator=RelationalOperator metricType=[MetricType|EString])
+	 */
+	protected void sequence_Specification(EObject context, Specification semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.SPECIFICATION__METRIC_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.SPECIFICATION__METRIC_TYPE));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.SPECIFICATION__VALUE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.SPECIFICATION__VALUE));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.SPECIFICATION__RELATIONAL_OPERATOR) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.SPECIFICATION__RELATIONAL_OPERATOR));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getSpecificationAccess().getValueEDoubleParserRuleCall_3_0(), semanticObject.getValue());
+		feeder.accept(grammarAccess.getSpecificationAccess().getRelationalOperatorRelationalOperatorParserRuleCall_5_0(), semanticObject.getRelationalOperator());
+		feeder.accept(grammarAccess.getSpecificationAccess().getMetricTypeMetricTypeEStringParserRuleCall_7_0_1(), semanticObject.getMetricType());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString predecessor=[AbstractControlFlowElement|EString]? successor=[AbstractControlFlowElement|EString]?)
+	 */
+	protected void sequence_StartAction(EObject context, StartAction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString predecessor=[AbstractControlFlowElement|EString]? successor=[AbstractControlFlowElement|EString]?)
+	 */
+	protected void sequence_StopAction(EObject context, StopAction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         name=EString 
+	 *         objective=[Objective|EString] 
+	 *         triggeringEvents=Event 
+	 *         tactics+=WeightedTactic 
+	 *         tactics+=WeightedTactic* 
+	 *         weightingFunction=WeightingFunction
+	 *     )
+	 */
+	protected void sequence_Strategy(EObject context, Strategy semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         name=EString 
+	 *         (inputParams+=[Parameter|EString] inputParams+=[Parameter|EString]*)? 
+	 *         outputParam=[Parameter|EString]? 
+	 *         implementedPlan=AdaptationPlan
+	 *     )
+	 */
+	protected void sequence_Tactic(EObject context, Tactic semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString weight=EDouble metricType=[MetricType|EString])
+	 */
+	protected void sequence_WeightedMetric(EObject context, WeightedMetric semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IdentifierPackage.Literals.IDENTIFIER__ID));
+			if(transientValues.isValueTransient(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CorePackage.Literals.NAMED_ELEMENT__NAME));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.WEIGHTED_METRIC__WEIGHT) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.WEIGHTED_METRIC__WEIGHT));
+			if(transientValues.isValueTransient(semanticObject, AdaptationPackage.Literals.WEIGHTED_METRIC__METRIC_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, AdaptationPackage.Literals.WEIGHTED_METRIC__METRIC_TYPE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0(), semanticObject.getWeight());
+		feeder.accept(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1(), semanticObject.getMetricType());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         id=EString 
+	 *         name=EString 
+	 *         currentWeight=EDouble 
+	 *         defaultWeight=EDouble 
+	 *         usedTactic=[Tactic|EString] 
+	 *         lastImpact=[Impact|EString]?
+	 *     )
+	 */
+	protected void sequence_WeightedTactic(EObject context, WeightedTactic semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (id=EString name=EString weightingFunctionImplementation=EString weightedMetrics+=WeightedMetric weightedMetrics+=WeightedMetric*)
+	 */
+	protected void sequence_WeightingFunction(EObject context, WeightingFunction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/serializer/AbstractStaLangSyntacticSequencer.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/serializer/AbstractStaLangSyntacticSequencer.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d8e3e4a27fa643774a90efe750f5af20faa0dff
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/serializer/AbstractStaLangSyntacticSequencer.java
@@ -0,0 +1,40 @@
+package edu.kit.ipd.descartes.serializer;
+
+import com.google.inject.Inject;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
+@SuppressWarnings("all")
+public abstract class AbstractStaLangSyntacticSequencer extends AbstractSyntacticSequencer {
+
+	protected StaLangGrammarAccess grammarAccess;
+	
+	@Inject
+	protected void init(IGrammarAccess access) {
+		grammarAccess = (StaLangGrammarAccess) access;
+	}
+	
+	@Override
+	protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+		return "";
+	}
+	
+	
+	@Override
+	protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+		if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+		List<INode> transitionNodes = collectNodes(fromNode, toNode);
+		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+			acceptNodes(getLastNavigableState(), syntaxNodes);
+		}
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/services/StaLangGrammarAccess.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/services/StaLangGrammarAccess.java
new file mode 100644
index 0000000000000000000000000000000000000000..0b8cf5b7af59703e27d7d65435a288443bea713c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/services/StaLangGrammarAccess.java
@@ -0,0 +1,3357 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import java.util.List;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+
+@Singleton
+public class StaLangGrammarAccess extends AbstractGrammarElementFinder {
+	
+	
+	public class AdaptationProcessElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationProcess");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cAdaptationProcessKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cTacticsKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cTacticsAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cTacticsTacticParserRuleCall_7_0 = (RuleCall)cTacticsAssignment_7.eContents().get(0);
+		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
+		private final Keyword cCommaKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
+		private final Assignment cTacticsAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
+		private final RuleCall cTacticsTacticParserRuleCall_8_1_0 = (RuleCall)cTacticsAssignment_8_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Keyword cActionsKeyword_10 = (Keyword)cGroup.eContents().get(10);
+		private final Keyword cLeftCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		private final Assignment cActionsAssignment_12 = (Assignment)cGroup.eContents().get(12);
+		private final RuleCall cActionsActionParserRuleCall_12_0 = (RuleCall)cActionsAssignment_12.eContents().get(0);
+		private final Group cGroup_13 = (Group)cGroup.eContents().get(13);
+		private final Keyword cCommaKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
+		private final Assignment cActionsAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
+		private final RuleCall cActionsActionParserRuleCall_13_1_0 = (RuleCall)cActionsAssignment_13_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_14 = (Keyword)cGroup.eContents().get(14);
+		private final Keyword cStrategiesKeyword_15 = (Keyword)cGroup.eContents().get(15);
+		private final Keyword cLeftCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16);
+		private final Assignment cStrategiesAssignment_17 = (Assignment)cGroup.eContents().get(17);
+		private final RuleCall cStrategiesStrategyParserRuleCall_17_0 = (RuleCall)cStrategiesAssignment_17.eContents().get(0);
+		private final Group cGroup_18 = (Group)cGroup.eContents().get(18);
+		private final Keyword cCommaKeyword_18_0 = (Keyword)cGroup_18.eContents().get(0);
+		private final Assignment cStrategiesAssignment_18_1 = (Assignment)cGroup_18.eContents().get(1);
+		private final RuleCall cStrategiesStrategyParserRuleCall_18_1_0 = (RuleCall)cStrategiesAssignment_18_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_19 = (Keyword)cGroup.eContents().get(19);
+		private final Group cGroup_20 = (Group)cGroup.eContents().get(20);
+		private final Keyword cParametersKeyword_20_0 = (Keyword)cGroup_20.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_20_1 = (Keyword)cGroup_20.eContents().get(1);
+		private final Assignment cParametersAssignment_20_2 = (Assignment)cGroup_20.eContents().get(2);
+		private final RuleCall cParametersParameterParserRuleCall_20_2_0 = (RuleCall)cParametersAssignment_20_2.eContents().get(0);
+		private final Group cGroup_20_3 = (Group)cGroup_20.eContents().get(3);
+		private final Keyword cCommaKeyword_20_3_0 = (Keyword)cGroup_20_3.eContents().get(0);
+		private final Assignment cParametersAssignment_20_3_1 = (Assignment)cGroup_20_3.eContents().get(1);
+		private final RuleCall cParametersParameterParserRuleCall_20_3_1_0 = (RuleCall)cParametersAssignment_20_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_20_4 = (Keyword)cGroup_20.eContents().get(4);
+		private final Keyword cGoalKeyword_21 = (Keyword)cGroup.eContents().get(21);
+		private final Assignment cGoalAssignment_22 = (Assignment)cGroup.eContents().get(22);
+		private final RuleCall cGoalOverallGoalParserRuleCall_22_0 = (RuleCall)cGoalAssignment_22.eContents().get(0);
+		private final Assignment cImportDeclarationAssignment_23 = (Assignment)cGroup.eContents().get(23);
+		private final RuleCall cImportDeclarationImportDeclarationParserRuleCall_23_0 = (RuleCall)cImportDeclarationAssignment_23.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_24 = (Keyword)cGroup.eContents().get(24);
+		
+		//AdaptationProcess:
+		//	"AdaptationProcess" id=EString "{" "name" name=EString "tactics" "{" tactics+=Tactic ("," tactics+=Tactic)* "}"
+		//	"actions" "{" actions+=Action ("," actions+=Action)* "}" "strategies" "{" strategies+=Strategy (","
+		//	strategies+=Strategy)* "}" ("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "goal"
+		//	goal=OverallGoal importDeclaration=ImportDeclaration? "}";
+		public ParserRule getRule() { return rule; }
+
+		//"AdaptationProcess" id=EString "{" "name" name=EString "tactics" "{" tactics+=Tactic ("," tactics+=Tactic)* "}"
+		//"actions" "{" actions+=Action ("," actions+=Action)* "}" "strategies" "{" strategies+=Strategy (","
+		//strategies+=Strategy)* "}" ("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "goal"
+		//goal=OverallGoal importDeclaration=ImportDeclaration? "}"
+		public Group getGroup() { return cGroup; }
+
+		//"AdaptationProcess"
+		public Keyword getAdaptationProcessKeyword_0() { return cAdaptationProcessKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"tactics"
+		public Keyword getTacticsKeyword_5() { return cTacticsKeyword_5; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+
+		//tactics+=Tactic
+		public Assignment getTacticsAssignment_7() { return cTacticsAssignment_7; }
+
+		//Tactic
+		public RuleCall getTacticsTacticParserRuleCall_7_0() { return cTacticsTacticParserRuleCall_7_0; }
+
+		//("," tactics+=Tactic)*
+		public Group getGroup_8() { return cGroup_8; }
+
+		//","
+		public Keyword getCommaKeyword_8_0() { return cCommaKeyword_8_0; }
+
+		//tactics+=Tactic
+		public Assignment getTacticsAssignment_8_1() { return cTacticsAssignment_8_1; }
+
+		//Tactic
+		public RuleCall getTacticsTacticParserRuleCall_8_1_0() { return cTacticsTacticParserRuleCall_8_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+
+		//"actions"
+		public Keyword getActionsKeyword_10() { return cActionsKeyword_10; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_11() { return cLeftCurlyBracketKeyword_11; }
+
+		//actions+=Action
+		public Assignment getActionsAssignment_12() { return cActionsAssignment_12; }
+
+		//Action
+		public RuleCall getActionsActionParserRuleCall_12_0() { return cActionsActionParserRuleCall_12_0; }
+
+		//("," actions+=Action)*
+		public Group getGroup_13() { return cGroup_13; }
+
+		//","
+		public Keyword getCommaKeyword_13_0() { return cCommaKeyword_13_0; }
+
+		//actions+=Action
+		public Assignment getActionsAssignment_13_1() { return cActionsAssignment_13_1; }
+
+		//Action
+		public RuleCall getActionsActionParserRuleCall_13_1_0() { return cActionsActionParserRuleCall_13_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_14() { return cRightCurlyBracketKeyword_14; }
+
+		//"strategies"
+		public Keyword getStrategiesKeyword_15() { return cStrategiesKeyword_15; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_16() { return cLeftCurlyBracketKeyword_16; }
+
+		//strategies+=Strategy
+		public Assignment getStrategiesAssignment_17() { return cStrategiesAssignment_17; }
+
+		//Strategy
+		public RuleCall getStrategiesStrategyParserRuleCall_17_0() { return cStrategiesStrategyParserRuleCall_17_0; }
+
+		//("," strategies+=Strategy)*
+		public Group getGroup_18() { return cGroup_18; }
+
+		//","
+		public Keyword getCommaKeyword_18_0() { return cCommaKeyword_18_0; }
+
+		//strategies+=Strategy
+		public Assignment getStrategiesAssignment_18_1() { return cStrategiesAssignment_18_1; }
+
+		//Strategy
+		public RuleCall getStrategiesStrategyParserRuleCall_18_1_0() { return cStrategiesStrategyParserRuleCall_18_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_19() { return cRightCurlyBracketKeyword_19; }
+
+		//("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")?
+		public Group getGroup_20() { return cGroup_20; }
+
+		//"parameters"
+		public Keyword getParametersKeyword_20_0() { return cParametersKeyword_20_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_20_1() { return cLeftCurlyBracketKeyword_20_1; }
+
+		//parameters+=Parameter
+		public Assignment getParametersAssignment_20_2() { return cParametersAssignment_20_2; }
+
+		//Parameter
+		public RuleCall getParametersParameterParserRuleCall_20_2_0() { return cParametersParameterParserRuleCall_20_2_0; }
+
+		//("," parameters+=Parameter)*
+		public Group getGroup_20_3() { return cGroup_20_3; }
+
+		//","
+		public Keyword getCommaKeyword_20_3_0() { return cCommaKeyword_20_3_0; }
+
+		//parameters+=Parameter
+		public Assignment getParametersAssignment_20_3_1() { return cParametersAssignment_20_3_1; }
+
+		//Parameter
+		public RuleCall getParametersParameterParserRuleCall_20_3_1_0() { return cParametersParameterParserRuleCall_20_3_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_20_4() { return cRightCurlyBracketKeyword_20_4; }
+
+		//"goal"
+		public Keyword getGoalKeyword_21() { return cGoalKeyword_21; }
+
+		//goal=OverallGoal
+		public Assignment getGoalAssignment_22() { return cGoalAssignment_22; }
+
+		//OverallGoal
+		public RuleCall getGoalOverallGoalParserRuleCall_22_0() { return cGoalOverallGoalParserRuleCall_22_0; }
+
+		//importDeclaration=ImportDeclaration?
+		public Assignment getImportDeclarationAssignment_23() { return cImportDeclarationAssignment_23; }
+
+		//ImportDeclaration
+		public RuleCall getImportDeclarationImportDeclarationParserRuleCall_23_0() { return cImportDeclarationImportDeclarationParserRuleCall_23_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_24() { return cRightCurlyBracketKeyword_24; }
+	}
+
+	public class AdaptationPointElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationPoint");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cModelVariableConfigurationRangeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cModelEntityConfigurationRangeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		
+		//AdaptationPoint returns adaptationpoints::AdaptationPoint:
+		//	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+		public ParserRule getRule() { return rule; }
+
+		//ModelVariableConfigurationRange | ModelEntityConfigurationRange
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//ModelVariableConfigurationRange
+		public RuleCall getModelVariableConfigurationRangeParserRuleCall_0() { return cModelVariableConfigurationRangeParserRuleCall_0; }
+
+		//ModelEntityConfigurationRange
+		public RuleCall getModelEntityConfigurationRangeParserRuleCall_1() { return cModelEntityConfigurationRangeParserRuleCall_1; }
+	}
+
+	public class AbstractControlFlowElementElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractControlFlowElement");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cStartActionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cStopActionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		private final RuleCall cLoopActionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+		private final RuleCall cBranchActionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+		private final RuleCall cActionReferenceParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+		
+		//AbstractControlFlowElement:
+		//	StartAction | StopAction | LoopAction | BranchAction | ActionReference;
+		public ParserRule getRule() { return rule; }
+
+		//StartAction | StopAction | LoopAction | BranchAction | ActionReference
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//StartAction
+		public RuleCall getStartActionParserRuleCall_0() { return cStartActionParserRuleCall_0; }
+
+		//StopAction
+		public RuleCall getStopActionParserRuleCall_1() { return cStopActionParserRuleCall_1; }
+
+		//LoopAction
+		public RuleCall getLoopActionParserRuleCall_2() { return cLoopActionParserRuleCall_2; }
+
+		//BranchAction
+		public RuleCall getBranchActionParserRuleCall_3() { return cBranchActionParserRuleCall_3; }
+
+		//ActionReference
+		public RuleCall getActionReferenceParserRuleCall_4() { return cActionReferenceParserRuleCall_4; }
+	}
+
+	public class VariationTypeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "VariationType");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cPropertyRangeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cSetOfConfigurationsParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		
+		//VariationType returns adaptationpoints::VariationType:
+		//	PropertyRange | SetOfConfigurations;
+		public ParserRule getRule() { return rule; }
+
+		//PropertyRange | SetOfConfigurations
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//PropertyRange
+		public RuleCall getPropertyRangeParserRuleCall_0() { return cPropertyRangeParserRuleCall_0; }
+
+		//SetOfConfigurations
+		public RuleCall getSetOfConfigurationsParserRuleCall_1() { return cSetOfConfigurationsParserRuleCall_1; }
+	}
+
+	public class EStringElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		
+		//EString returns ecore::EString:
+		//	STRING | ID;
+		public ParserRule getRule() { return rule; }
+
+		//STRING | ID
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//STRING
+		public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; }
+
+		//ID
+		public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; }
+	}
+
+	public class TacticElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Tactic");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cTacticKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cInputParamsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
+		private final Assignment cInputParamsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
+		private final CrossReference cInputParamsParameterCrossReference_5_2_0 = (CrossReference)cInputParamsAssignment_5_2.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_5_2_0_1 = (RuleCall)cInputParamsParameterCrossReference_5_2_0.eContents().get(1);
+		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
+		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
+		private final Assignment cInputParamsAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
+		private final CrossReference cInputParamsParameterCrossReference_5_3_1_0 = (CrossReference)cInputParamsAssignment_5_3_1.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cInputParamsParameterCrossReference_5_3_1_0.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Keyword cOutputParamKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Assignment cOutputParamAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
+		private final CrossReference cOutputParamParameterCrossReference_6_1_0 = (CrossReference)cOutputParamAssignment_6_1.eContents().get(0);
+		private final RuleCall cOutputParamParameterEStringParserRuleCall_6_1_0_1 = (RuleCall)cOutputParamParameterCrossReference_6_1_0.eContents().get(1);
+		private final Keyword cImplementedPlanKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cImplementedPlanAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cImplementedPlanAdaptationPlanParserRuleCall_8_0 = (RuleCall)cImplementedPlanAssignment_8.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//Tactic:
+		//	"Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
+		//	inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
+		//	implementedPlan=AdaptationPlan "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
+		//inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
+		//implementedPlan=AdaptationPlan "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Tactic"
+		public Keyword getTacticKeyword_0() { return cTacticKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//("inputParams" "(" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"inputParams"
+		public Keyword getInputParamsKeyword_5_0() { return cInputParamsKeyword_5_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
+
+		//inputParams+=[Parameter|EString]
+		public Assignment getInputParamsAssignment_5_2() { return cInputParamsAssignment_5_2; }
+
+		//[Parameter|EString]
+		public CrossReference getInputParamsParameterCrossReference_5_2_0() { return cInputParamsParameterCrossReference_5_2_0; }
+
+		//EString
+		public RuleCall getInputParamsParameterEStringParserRuleCall_5_2_0_1() { return cInputParamsParameterEStringParserRuleCall_5_2_0_1; }
+
+		//("," inputParams+=[Parameter|EString])*
+		public Group getGroup_5_3() { return cGroup_5_3; }
+
+		//","
+		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
+
+		//inputParams+=[Parameter|EString]
+		public Assignment getInputParamsAssignment_5_3_1() { return cInputParamsAssignment_5_3_1; }
+
+		//[Parameter|EString]
+		public CrossReference getInputParamsParameterCrossReference_5_3_1_0() { return cInputParamsParameterCrossReference_5_3_1_0; }
+
+		//EString
+		public RuleCall getInputParamsParameterEStringParserRuleCall_5_3_1_0_1() { return cInputParamsParameterEStringParserRuleCall_5_3_1_0_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
+
+		//("outputParam" outputParam=[Parameter|EString])?
+		public Group getGroup_6() { return cGroup_6; }
+
+		//"outputParam"
+		public Keyword getOutputParamKeyword_6_0() { return cOutputParamKeyword_6_0; }
+
+		//outputParam=[Parameter|EString]
+		public Assignment getOutputParamAssignment_6_1() { return cOutputParamAssignment_6_1; }
+
+		//[Parameter|EString]
+		public CrossReference getOutputParamParameterCrossReference_6_1_0() { return cOutputParamParameterCrossReference_6_1_0; }
+
+		//EString
+		public RuleCall getOutputParamParameterEStringParserRuleCall_6_1_0_1() { return cOutputParamParameterEStringParserRuleCall_6_1_0_1; }
+
+		//"implementedPlan"
+		public Keyword getImplementedPlanKeyword_7() { return cImplementedPlanKeyword_7; }
+
+		//implementedPlan=AdaptationPlan
+		public Assignment getImplementedPlanAssignment_8() { return cImplementedPlanAssignment_8; }
+
+		//AdaptationPlan
+		public RuleCall getImplementedPlanAdaptationPlanParserRuleCall_8_0() { return cImplementedPlanAdaptationPlanParserRuleCall_8_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+
+	public class ActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Action");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cOutputParamKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cOutputParamAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final CrossReference cOutputParamParameterCrossReference_5_1_0 = (CrossReference)cOutputParamAssignment_5_1.eContents().get(0);
+		private final RuleCall cOutputParamParameterEStringParserRuleCall_5_1_0_1 = (RuleCall)cOutputParamParameterCrossReference_5_1_0.eContents().get(1);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Keyword cInputParamsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
+		private final Assignment cInputParamsAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
+		private final CrossReference cInputParamsParameterCrossReference_6_2_0 = (CrossReference)cInputParamsAssignment_6_2.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_6_2_0_1 = (RuleCall)cInputParamsParameterCrossReference_6_2_0.eContents().get(1);
+		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
+		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
+		private final Assignment cInputParamsAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
+		private final CrossReference cInputParamsParameterCrossReference_6_3_1_0 = (CrossReference)cInputParamsAssignment_6_3_1.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_6_3_1_0_1 = (RuleCall)cInputParamsParameterCrossReference_6_3_1_0.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
+		private final Keyword cReferredAdaptationPointKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cReferredAdaptationPointAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final CrossReference cReferredAdaptationPointAdaptationPointCrossReference_8_0 = (CrossReference)cReferredAdaptationPointAssignment_8.eContents().get(0);
+		private final RuleCall cReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1 = (RuleCall)cReferredAdaptationPointAdaptationPointCrossReference_8_0.eContents().get(1);
+		private final Keyword cAdaptationActionOperationKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Assignment cAdaptationActionOperationAssignment_10 = (Assignment)cGroup.eContents().get(10);
+		private final RuleCall cAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0 = (RuleCall)cAdaptationActionOperationAssignment_10.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		
+		//Action:
+		//	"Action" id=EString "{" "name" name=EString ("outputParam" outputParam=[Parameter|EString])? ("inputParams" "("
+		//	inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")? "referredAdaptationPoint"
+		//	referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation"
+		//	adaptationActionOperation=AdaptationActionOperation "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Action" id=EString "{" "name" name=EString ("outputParam" outputParam=[Parameter|EString])? ("inputParams" "("
+		//inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")? "referredAdaptationPoint"
+		//referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation"
+		//adaptationActionOperation=AdaptationActionOperation "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Action"
+		public Keyword getActionKeyword_0() { return cActionKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//("outputParam" outputParam=[Parameter|EString])?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"outputParam"
+		public Keyword getOutputParamKeyword_5_0() { return cOutputParamKeyword_5_0; }
+
+		//outputParam=[Parameter|EString]
+		public Assignment getOutputParamAssignment_5_1() { return cOutputParamAssignment_5_1; }
+
+		//[Parameter|EString]
+		public CrossReference getOutputParamParameterCrossReference_5_1_0() { return cOutputParamParameterCrossReference_5_1_0; }
+
+		//EString
+		public RuleCall getOutputParamParameterEStringParserRuleCall_5_1_0_1() { return cOutputParamParameterEStringParserRuleCall_5_1_0_1; }
+
+		//("inputParams" "(" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")?
+		public Group getGroup_6() { return cGroup_6; }
+
+		//"inputParams"
+		public Keyword getInputParamsKeyword_6_0() { return cInputParamsKeyword_6_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_6_1() { return cLeftParenthesisKeyword_6_1; }
+
+		//inputParams+=[Parameter|EString]
+		public Assignment getInputParamsAssignment_6_2() { return cInputParamsAssignment_6_2; }
+
+		//[Parameter|EString]
+		public CrossReference getInputParamsParameterCrossReference_6_2_0() { return cInputParamsParameterCrossReference_6_2_0; }
+
+		//EString
+		public RuleCall getInputParamsParameterEStringParserRuleCall_6_2_0_1() { return cInputParamsParameterEStringParserRuleCall_6_2_0_1; }
+
+		//("," inputParams+=[Parameter|EString])*
+		public Group getGroup_6_3() { return cGroup_6_3; }
+
+		//","
+		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
+
+		//inputParams+=[Parameter|EString]
+		public Assignment getInputParamsAssignment_6_3_1() { return cInputParamsAssignment_6_3_1; }
+
+		//[Parameter|EString]
+		public CrossReference getInputParamsParameterCrossReference_6_3_1_0() { return cInputParamsParameterCrossReference_6_3_1_0; }
+
+		//EString
+		public RuleCall getInputParamsParameterEStringParserRuleCall_6_3_1_0_1() { return cInputParamsParameterEStringParserRuleCall_6_3_1_0_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_6_4() { return cRightParenthesisKeyword_6_4; }
+
+		//"referredAdaptationPoint"
+		public Keyword getReferredAdaptationPointKeyword_7() { return cReferredAdaptationPointKeyword_7; }
+
+		//referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+		public Assignment getReferredAdaptationPointAssignment_8() { return cReferredAdaptationPointAssignment_8; }
+
+		//[adaptationpoints::AdaptationPoint|EString]
+		public CrossReference getReferredAdaptationPointAdaptationPointCrossReference_8_0() { return cReferredAdaptationPointAdaptationPointCrossReference_8_0; }
+
+		//EString
+		public RuleCall getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1() { return cReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1; }
+
+		//"adaptationActionOperation"
+		public Keyword getAdaptationActionOperationKeyword_9() { return cAdaptationActionOperationKeyword_9; }
+
+		//adaptationActionOperation=AdaptationActionOperation
+		public Assignment getAdaptationActionOperationAssignment_10() { return cAdaptationActionOperationAssignment_10; }
+
+		//AdaptationActionOperation
+		public RuleCall getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0() { return cAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+	}
+
+	public class StrategyElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Strategy");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cStrategyKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cObjectiveKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cObjectiveAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final CrossReference cObjectiveObjectiveCrossReference_6_0 = (CrossReference)cObjectiveAssignment_6.eContents().get(0);
+		private final RuleCall cObjectiveObjectiveEStringParserRuleCall_6_0_1 = (RuleCall)cObjectiveObjectiveCrossReference_6_0.eContents().get(1);
+		private final Keyword cTriggeringEventsKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cTriggeringEventsAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cTriggeringEventsEventParserRuleCall_8_0 = (RuleCall)cTriggeringEventsAssignment_8.eContents().get(0);
+		private final Keyword cTacticsKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Keyword cLeftCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
+		private final Assignment cTacticsAssignment_11 = (Assignment)cGroup.eContents().get(11);
+		private final RuleCall cTacticsWeightedTacticParserRuleCall_11_0 = (RuleCall)cTacticsAssignment_11.eContents().get(0);
+		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
+		private final Keyword cCommaKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
+		private final Assignment cTacticsAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
+		private final RuleCall cTacticsWeightedTacticParserRuleCall_12_1_0 = (RuleCall)cTacticsAssignment_12_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13);
+		private final Keyword cWeightingFunctionKeyword_14 = (Keyword)cGroup.eContents().get(14);
+		private final Assignment cWeightingFunctionAssignment_15 = (Assignment)cGroup.eContents().get(15);
+		private final RuleCall cWeightingFunctionWeightingFunctionParserRuleCall_15_0 = (RuleCall)cWeightingFunctionAssignment_15.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16);
+		
+		//Strategy:
+		//	"Strategy" id=EString "{" "name" name=EString "objective" objective=[Objective|EString] "triggeringEvents"
+		//	triggeringEvents=Event "tactics" "{" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "}" "weightingFunction"
+		//	weightingFunction=WeightingFunction "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Strategy" id=EString "{" "name" name=EString "objective" objective=[Objective|EString] "triggeringEvents"
+		//triggeringEvents=Event "tactics" "{" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "}" "weightingFunction"
+		//weightingFunction=WeightingFunction "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Strategy"
+		public Keyword getStrategyKeyword_0() { return cStrategyKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"objective"
+		public Keyword getObjectiveKeyword_5() { return cObjectiveKeyword_5; }
+
+		//objective=[Objective|EString]
+		public Assignment getObjectiveAssignment_6() { return cObjectiveAssignment_6; }
+
+		//[Objective|EString]
+		public CrossReference getObjectiveObjectiveCrossReference_6_0() { return cObjectiveObjectiveCrossReference_6_0; }
+
+		//EString
+		public RuleCall getObjectiveObjectiveEStringParserRuleCall_6_0_1() { return cObjectiveObjectiveEStringParserRuleCall_6_0_1; }
+
+		//"triggeringEvents"
+		public Keyword getTriggeringEventsKeyword_7() { return cTriggeringEventsKeyword_7; }
+
+		//triggeringEvents=Event
+		public Assignment getTriggeringEventsAssignment_8() { return cTriggeringEventsAssignment_8; }
+
+		//Event
+		public RuleCall getTriggeringEventsEventParserRuleCall_8_0() { return cTriggeringEventsEventParserRuleCall_8_0; }
+
+		//"tactics"
+		public Keyword getTacticsKeyword_9() { return cTacticsKeyword_9; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_10() { return cLeftCurlyBracketKeyword_10; }
+
+		//tactics+=WeightedTactic
+		public Assignment getTacticsAssignment_11() { return cTacticsAssignment_11; }
+
+		//WeightedTactic
+		public RuleCall getTacticsWeightedTacticParserRuleCall_11_0() { return cTacticsWeightedTacticParserRuleCall_11_0; }
+
+		//("," tactics+=WeightedTactic)*
+		public Group getGroup_12() { return cGroup_12; }
+
+		//","
+		public Keyword getCommaKeyword_12_0() { return cCommaKeyword_12_0; }
+
+		//tactics+=WeightedTactic
+		public Assignment getTacticsAssignment_12_1() { return cTacticsAssignment_12_1; }
+
+		//WeightedTactic
+		public RuleCall getTacticsWeightedTacticParserRuleCall_12_1_0() { return cTacticsWeightedTacticParserRuleCall_12_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; }
+
+		//"weightingFunction"
+		public Keyword getWeightingFunctionKeyword_14() { return cWeightingFunctionKeyword_14; }
+
+		//weightingFunction=WeightingFunction
+		public Assignment getWeightingFunctionAssignment_15() { return cWeightingFunctionAssignment_15; }
+
+		//WeightingFunction
+		public RuleCall getWeightingFunctionWeightingFunctionParserRuleCall_15_0() { return cWeightingFunctionWeightingFunctionParserRuleCall_15_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; }
+	}
+
+	public class ParameterElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Parameter");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cParameterKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cTypeKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cTypeEStringParserRuleCall_4_0 = (RuleCall)cTypeAssignment_4.eContents().get(0);
+		private final Keyword cValueKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cValueAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cValueEStringParserRuleCall_6_0 = (RuleCall)cValueAssignment_6.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		
+		//Parameter:
+		//	"Parameter" name=EString "{" "type" type=EString "value" value=EString "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Parameter" name=EString "{" "type" type=EString "value" value=EString "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Parameter"
+		public Keyword getParameterKeyword_0() { return cParameterKeyword_0; }
+
+		//name=EString
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"type"
+		public Keyword getTypeKeyword_3() { return cTypeKeyword_3; }
+
+		//type=EString
+		public Assignment getTypeAssignment_4() { return cTypeAssignment_4; }
+
+		//EString
+		public RuleCall getTypeEStringParserRuleCall_4_0() { return cTypeEStringParserRuleCall_4_0; }
+
+		//"value"
+		public Keyword getValueKeyword_5() { return cValueKeyword_5; }
+
+		//value=EString
+		public Assignment getValueAssignment_6() { return cValueAssignment_6; }
+
+		//EString
+		public RuleCall getValueEStringParserRuleCall_6_0() { return cValueEStringParserRuleCall_6_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+	}
+
+	public class OverallGoalElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OverallGoal");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cOverallGoalKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cDescriptionKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cDescriptionAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cDescriptionEStringParserRuleCall_3_0 = (RuleCall)cDescriptionAssignment_3.eContents().get(0);
+		private final Keyword cObjectivesKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cObjectivesAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cObjectivesObjectiveParserRuleCall_6_0 = (RuleCall)cObjectivesAssignment_6.eContents().get(0);
+		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+		private final Keyword cCommaKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+		private final Assignment cObjectivesAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
+		private final RuleCall cObjectivesObjectiveParserRuleCall_7_1_0 = (RuleCall)cObjectivesAssignment_7_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//OverallGoal:
+		//	"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective (","
+		//	objectives+=Objective)* "}" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective ("," objectives+=Objective)*
+		//"}" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"OverallGoal"
+		public Keyword getOverallGoalKeyword_0() { return cOverallGoalKeyword_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+		//"description"
+		public Keyword getDescriptionKeyword_2() { return cDescriptionKeyword_2; }
+
+		//description=EString
+		public Assignment getDescriptionAssignment_3() { return cDescriptionAssignment_3; }
+
+		//EString
+		public RuleCall getDescriptionEStringParserRuleCall_3_0() { return cDescriptionEStringParserRuleCall_3_0; }
+
+		//"objectives"
+		public Keyword getObjectivesKeyword_4() { return cObjectivesKeyword_4; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
+
+		//objectives+=Objective
+		public Assignment getObjectivesAssignment_6() { return cObjectivesAssignment_6; }
+
+		//Objective
+		public RuleCall getObjectivesObjectiveParserRuleCall_6_0() { return cObjectivesObjectiveParserRuleCall_6_0; }
+
+		//("," objectives+=Objective)*
+		public Group getGroup_7() { return cGroup_7; }
+
+		//","
+		public Keyword getCommaKeyword_7_0() { return cCommaKeyword_7_0; }
+
+		//objectives+=Objective
+		public Assignment getObjectivesAssignment_7_1() { return cObjectivesAssignment_7_1; }
+
+		//Objective
+		public RuleCall getObjectivesObjectiveParserRuleCall_7_1_0() { return cObjectivesObjectiveParserRuleCall_7_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+
+	public class ImportDeclarationElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportDeclaration");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cImportDeclarationKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cImportURIAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cImportURIEStringParserRuleCall_1_0 = (RuleCall)cImportURIAssignment_1.eContents().get(0);
+		
+		//ImportDeclaration:
+		//	"ImportDeclaration" importURI=EString;
+		public ParserRule getRule() { return rule; }
+
+		//"ImportDeclaration" importURI=EString
+		public Group getGroup() { return cGroup; }
+
+		//"ImportDeclaration"
+		public Keyword getImportDeclarationKeyword_0() { return cImportDeclarationKeyword_0; }
+
+		//importURI=EString
+		public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; }
+
+		//EString
+		public RuleCall getImportURIEStringParserRuleCall_1_0() { return cImportURIEStringParserRuleCall_1_0; }
+	}
+
+	public class AdaptationPlanElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationPlan");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cAdaptationPlanKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cStepsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
+		private final Assignment cStepsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
+		private final RuleCall cStepsAbstractControlFlowElementParserRuleCall_5_2_0 = (RuleCall)cStepsAssignment_5_2.eContents().get(0);
+		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
+		private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
+		private final Assignment cStepsAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
+		private final RuleCall cStepsAbstractControlFlowElementParserRuleCall_5_3_1_0 = (RuleCall)cStepsAssignment_5_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//AdaptationPlan:
+		//	"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
+		//	steps+=AbstractControlFlowElement)* "}")? "}";
+		public ParserRule getRule() { return rule; }
+
+		//"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
+		//steps+=AbstractControlFlowElement)* "}")? "}"
+		public Group getGroup() { return cGroup; }
+
+		//"AdaptationPlan"
+		public Keyword getAdaptationPlanKeyword_0() { return cAdaptationPlanKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//("steps" "{" steps+=AbstractControlFlowElement ("," steps+=AbstractControlFlowElement)* "}")?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"steps"
+		public Keyword getStepsKeyword_5_0() { return cStepsKeyword_5_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
+
+		//steps+=AbstractControlFlowElement
+		public Assignment getStepsAssignment_5_2() { return cStepsAssignment_5_2; }
+
+		//AbstractControlFlowElement
+		public RuleCall getStepsAbstractControlFlowElementParserRuleCall_5_2_0() { return cStepsAbstractControlFlowElementParserRuleCall_5_2_0; }
+
+		//("," steps+=AbstractControlFlowElement)*
+		public Group getGroup_5_3() { return cGroup_5_3; }
+
+		//","
+		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
+
+		//steps+=AbstractControlFlowElement
+		public Assignment getStepsAssignment_5_3_1() { return cStepsAssignment_5_3_1; }
+
+		//AbstractControlFlowElement
+		public RuleCall getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0() { return cStepsAbstractControlFlowElementParserRuleCall_5_3_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class StartActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StartAction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cStartActionAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cStartActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cIdAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cIdEStringParserRuleCall_2_0 = (RuleCall)cIdAssignment_2.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cPredecessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cPredecessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final CrossReference cPredecessorAbstractControlFlowElementCrossReference_4_1_0 = (CrossReference)cPredecessorAssignment_4_1.eContents().get(0);
+		private final RuleCall cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1 = (RuleCall)cPredecessorAbstractControlFlowElementCrossReference_4_1_0.eContents().get(1);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cSuccessorKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cSuccessorAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final CrossReference cSuccessorAbstractControlFlowElementCrossReference_5_1_0 = (CrossReference)cSuccessorAssignment_5_1.eContents().get(0);
+		private final RuleCall cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1 = (RuleCall)cSuccessorAbstractControlFlowElementCrossReference_5_1_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//StartAction:
+		//	{StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+		public ParserRule getRule() { return rule; }
+
+		//{StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		//("successor" successor=[AbstractControlFlowElement|EString])? "}"
+		public Group getGroup() { return cGroup; }
+
+		//{StartAction}
+		public Action getStartActionAction_0() { return cStartActionAction_0; }
+
+		//"StartAction"
+		public Keyword getStartActionKeyword_1() { return cStartActionKeyword_1; }
+
+		//id=EString
+		public Assignment getIdAssignment_2() { return cIdAssignment_2; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_2_0() { return cIdEStringParserRuleCall_2_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+		//("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"predecessor"
+		public Keyword getPredecessorKeyword_4_0() { return cPredecessorKeyword_4_0; }
+
+		//predecessor=[AbstractControlFlowElement|EString]
+		public Assignment getPredecessorAssignment_4_1() { return cPredecessorAssignment_4_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getPredecessorAbstractControlFlowElementCrossReference_4_1_0() { return cPredecessorAbstractControlFlowElementCrossReference_4_1_0; }
+
+		//EString
+		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1; }
+
+		//("successor" successor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"successor"
+		public Keyword getSuccessorKeyword_5_0() { return cSuccessorKeyword_5_0; }
+
+		//successor=[AbstractControlFlowElement|EString]
+		public Assignment getSuccessorAssignment_5_1() { return cSuccessorAssignment_5_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_5_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_5_1_0; }
+
+		//EString
+		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class StopActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StopAction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cStopActionAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cStopActionKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cIdAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cIdEStringParserRuleCall_2_0 = (RuleCall)cIdAssignment_2.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cPredecessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cPredecessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final CrossReference cPredecessorAbstractControlFlowElementCrossReference_4_1_0 = (CrossReference)cPredecessorAssignment_4_1.eContents().get(0);
+		private final RuleCall cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1 = (RuleCall)cPredecessorAbstractControlFlowElementCrossReference_4_1_0.eContents().get(1);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cSuccessorKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cSuccessorAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final CrossReference cSuccessorAbstractControlFlowElementCrossReference_5_1_0 = (CrossReference)cSuccessorAssignment_5_1.eContents().get(0);
+		private final RuleCall cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1 = (RuleCall)cSuccessorAbstractControlFlowElementCrossReference_5_1_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//StopAction:
+		//	{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+		public ParserRule getRule() { return rule; }
+
+		//{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+		//successor=[AbstractControlFlowElement|EString])? "}"
+		public Group getGroup() { return cGroup; }
+
+		//{StopAction}
+		public Action getStopActionAction_0() { return cStopActionAction_0; }
+
+		//"StopAction"
+		public Keyword getStopActionKeyword_1() { return cStopActionKeyword_1; }
+
+		//id=EString
+		public Assignment getIdAssignment_2() { return cIdAssignment_2; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_2_0() { return cIdEStringParserRuleCall_2_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+		//("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"predecessor"
+		public Keyword getPredecessorKeyword_4_0() { return cPredecessorKeyword_4_0; }
+
+		//predecessor=[AbstractControlFlowElement|EString]
+		public Assignment getPredecessorAssignment_4_1() { return cPredecessorAssignment_4_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getPredecessorAbstractControlFlowElementCrossReference_4_1_0() { return cPredecessorAbstractControlFlowElementCrossReference_4_1_0; }
+
+		//EString
+		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1; }
+
+		//("successor" successor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"successor"
+		public Keyword getSuccessorKeyword_5_0() { return cSuccessorKeyword_5_0; }
+
+		//successor=[AbstractControlFlowElement|EString]
+		public Assignment getSuccessorAssignment_5_1() { return cSuccessorAssignment_5_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_5_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_5_1_0; }
+
+		//EString
+		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class LoopActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopAction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cLoopActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final CrossReference cPredecessorAbstractControlFlowElementCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
+		private final RuleCall cPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractControlFlowElementCrossReference_3_1_0.eContents().get(1);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final CrossReference cSuccessorAbstractControlFlowElementCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
+		private final RuleCall cSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractControlFlowElementCrossReference_4_1_0.eContents().get(1);
+		private final Keyword cCounterKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cCounterAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final CrossReference cCounterParameterCrossReference_6_0 = (CrossReference)cCounterAssignment_6.eContents().get(0);
+		private final RuleCall cCounterParameterEStringParserRuleCall_6_0_1 = (RuleCall)cCounterParameterCrossReference_6_0.eContents().get(1);
+		private final Keyword cBodyKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cBodyAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cBodyAdaptationPlanParserRuleCall_8_0 = (RuleCall)cBodyAssignment_8.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//LoopAction:
+		//	"LoopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+		//	successor=[AbstractControlFlowElement|EString])? "counter" counter=[Parameter|EString] "body" body=AdaptationPlan "}";
+		public ParserRule getRule() { return rule; }
+
+		//"LoopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+		//successor=[AbstractControlFlowElement|EString])? "counter" counter=[Parameter|EString] "body" body=AdaptationPlan "}"
+		public Group getGroup() { return cGroup; }
+
+		//"LoopAction"
+		public Keyword getLoopActionKeyword_0() { return cLoopActionKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"predecessor"
+		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
+
+		//predecessor=[AbstractControlFlowElement|EString]
+		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getPredecessorAbstractControlFlowElementCrossReference_3_1_0() { return cPredecessorAbstractControlFlowElementCrossReference_3_1_0; }
+
+		//EString
+		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1; }
+
+		//("successor" successor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"successor"
+		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
+
+		//successor=[AbstractControlFlowElement|EString]
+		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_4_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_4_1_0; }
+
+		//EString
+		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1; }
+
+		//"counter"
+		public Keyword getCounterKeyword_5() { return cCounterKeyword_5; }
+
+		//counter=[Parameter|EString]
+		public Assignment getCounterAssignment_6() { return cCounterAssignment_6; }
+
+		//[Parameter|EString]
+		public CrossReference getCounterParameterCrossReference_6_0() { return cCounterParameterCrossReference_6_0; }
+
+		//EString
+		public RuleCall getCounterParameterEStringParserRuleCall_6_0_1() { return cCounterParameterEStringParserRuleCall_6_0_1; }
+
+		//"body"
+		public Keyword getBodyKeyword_7() { return cBodyKeyword_7; }
+
+		//body=AdaptationPlan
+		public Assignment getBodyAssignment_8() { return cBodyAssignment_8; }
+
+		//AdaptationPlan
+		public RuleCall getBodyAdaptationPlanParserRuleCall_8_0() { return cBodyAdaptationPlanParserRuleCall_8_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+
+	public class BranchActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchAction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cBranchActionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cConditionKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cConditionAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cConditionEStringParserRuleCall_3_1_0 = (RuleCall)cConditionAssignment_3_1.eContents().get(0);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cPredecessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cPredecessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final CrossReference cPredecessorAbstractControlFlowElementCrossReference_4_1_0 = (CrossReference)cPredecessorAssignment_4_1.eContents().get(0);
+		private final RuleCall cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1 = (RuleCall)cPredecessorAbstractControlFlowElementCrossReference_4_1_0.eContents().get(1);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cSuccessorKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cSuccessorAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final CrossReference cSuccessorAbstractControlFlowElementCrossReference_5_1_0 = (CrossReference)cSuccessorAssignment_5_1.eContents().get(0);
+		private final RuleCall cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1 = (RuleCall)cSuccessorAbstractControlFlowElementCrossReference_5_1_0.eContents().get(1);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Keyword cContextKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Assignment cContextAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
+		private final CrossReference cContextEntityCrossReference_6_1_0 = (CrossReference)cContextAssignment_6_1.eContents().get(0);
+		private final RuleCall cContextEntityEStringParserRuleCall_6_1_0_1 = (RuleCall)cContextEntityCrossReference_6_1_0.eContents().get(1);
+		private final Keyword cConditionTrueBranchKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cConditionTrueBranchAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cConditionTrueBranchAdaptationPlanParserRuleCall_8_0 = (RuleCall)cConditionTrueBranchAssignment_8.eContents().get(0);
+		private final Keyword cConditionFalseBranchKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Assignment cConditionFalseBranchAssignment_10 = (Assignment)cGroup.eContents().get(10);
+		private final RuleCall cConditionFalseBranchAdaptationPlanParserRuleCall_10_0 = (RuleCall)cConditionFalseBranchAssignment_10.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		
+		//BranchAction:
+		//	"BranchAction" id=EString "{" ("condition" condition=EString)? ("predecessor"
+		//	predecessor=[AbstractControlFlowElement|EString])? ("successor" successor=[AbstractControlFlowElement|EString])?
+		//	("context" context=[core::Entity|EString])? "conditionTrueBranch" conditionTrueBranch=AdaptationPlan
+		//	"conditionFalseBranch" conditionFalseBranch=AdaptationPlan "}";
+		public ParserRule getRule() { return rule; }
+
+		//"BranchAction" id=EString "{" ("condition" condition=EString)? ("predecessor"
+		//predecessor=[AbstractControlFlowElement|EString])? ("successor" successor=[AbstractControlFlowElement|EString])?
+		//("context" context=[core::Entity|EString])? "conditionTrueBranch" conditionTrueBranch=AdaptationPlan
+		//"conditionFalseBranch" conditionFalseBranch=AdaptationPlan "}"
+		public Group getGroup() { return cGroup; }
+
+		//"BranchAction"
+		public Keyword getBranchActionKeyword_0() { return cBranchActionKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//("condition" condition=EString)?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"condition"
+		public Keyword getConditionKeyword_3_0() { return cConditionKeyword_3_0; }
+
+		//condition=EString
+		public Assignment getConditionAssignment_3_1() { return cConditionAssignment_3_1; }
+
+		//EString
+		public RuleCall getConditionEStringParserRuleCall_3_1_0() { return cConditionEStringParserRuleCall_3_1_0; }
+
+		//("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"predecessor"
+		public Keyword getPredecessorKeyword_4_0() { return cPredecessorKeyword_4_0; }
+
+		//predecessor=[AbstractControlFlowElement|EString]
+		public Assignment getPredecessorAssignment_4_1() { return cPredecessorAssignment_4_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getPredecessorAbstractControlFlowElementCrossReference_4_1_0() { return cPredecessorAbstractControlFlowElementCrossReference_4_1_0; }
+
+		//EString
+		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1; }
+
+		//("successor" successor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"successor"
+		public Keyword getSuccessorKeyword_5_0() { return cSuccessorKeyword_5_0; }
+
+		//successor=[AbstractControlFlowElement|EString]
+		public Assignment getSuccessorAssignment_5_1() { return cSuccessorAssignment_5_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_5_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_5_1_0; }
+
+		//EString
+		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1; }
+
+		//("context" context=[core::Entity|EString])?
+		public Group getGroup_6() { return cGroup_6; }
+
+		//"context"
+		public Keyword getContextKeyword_6_0() { return cContextKeyword_6_0; }
+
+		//context=[core::Entity|EString]
+		public Assignment getContextAssignment_6_1() { return cContextAssignment_6_1; }
+
+		//[core::Entity|EString]
+		public CrossReference getContextEntityCrossReference_6_1_0() { return cContextEntityCrossReference_6_1_0; }
+
+		//EString
+		public RuleCall getContextEntityEStringParserRuleCall_6_1_0_1() { return cContextEntityEStringParserRuleCall_6_1_0_1; }
+
+		//"conditionTrueBranch"
+		public Keyword getConditionTrueBranchKeyword_7() { return cConditionTrueBranchKeyword_7; }
+
+		//conditionTrueBranch=AdaptationPlan
+		public Assignment getConditionTrueBranchAssignment_8() { return cConditionTrueBranchAssignment_8; }
+
+		//AdaptationPlan
+		public RuleCall getConditionTrueBranchAdaptationPlanParserRuleCall_8_0() { return cConditionTrueBranchAdaptationPlanParserRuleCall_8_0; }
+
+		//"conditionFalseBranch"
+		public Keyword getConditionFalseBranchKeyword_9() { return cConditionFalseBranchKeyword_9; }
+
+		//conditionFalseBranch=AdaptationPlan
+		public Assignment getConditionFalseBranchAssignment_10() { return cConditionFalseBranchAssignment_10; }
+
+		//AdaptationPlan
+		public RuleCall getConditionFalseBranchAdaptationPlanParserRuleCall_10_0() { return cConditionFalseBranchAdaptationPlanParserRuleCall_10_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+	}
+
+	public class ActionReferenceElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActionReference");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cActionReferenceKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final CrossReference cPredecessorAbstractControlFlowElementCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0);
+		private final RuleCall cPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractControlFlowElementCrossReference_3_1_0.eContents().get(1);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final CrossReference cSuccessorAbstractControlFlowElementCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0);
+		private final RuleCall cSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractControlFlowElementCrossReference_4_1_0.eContents().get(1);
+		private final Keyword cRefersToKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cRefersToAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final CrossReference cRefersToActionCrossReference_6_0 = (CrossReference)cRefersToAssignment_6.eContents().get(0);
+		private final RuleCall cRefersToActionEStringParserRuleCall_6_0_1 = (RuleCall)cRefersToActionCrossReference_6_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		
+		//ActionReference:
+		//	"ActionReference" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+		//	successor=[AbstractControlFlowElement|EString])? "refersTo" refersTo=[Action|EString] "}";
+		public ParserRule getRule() { return rule; }
+
+		//"ActionReference" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+		//successor=[AbstractControlFlowElement|EString])? "refersTo" refersTo=[Action|EString] "}"
+		public Group getGroup() { return cGroup; }
+
+		//"ActionReference"
+		public Keyword getActionReferenceKeyword_0() { return cActionReferenceKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"predecessor"
+		public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; }
+
+		//predecessor=[AbstractControlFlowElement|EString]
+		public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getPredecessorAbstractControlFlowElementCrossReference_3_1_0() { return cPredecessorAbstractControlFlowElementCrossReference_3_1_0; }
+
+		//EString
+		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1; }
+
+		//("successor" successor=[AbstractControlFlowElement|EString])?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"successor"
+		public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; }
+
+		//successor=[AbstractControlFlowElement|EString]
+		public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; }
+
+		//[AbstractControlFlowElement|EString]
+		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_4_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_4_1_0; }
+
+		//EString
+		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1; }
+
+		//"refersTo"
+		public Keyword getRefersToKeyword_5() { return cRefersToKeyword_5; }
+
+		//refersTo=[Action|EString]
+		public Assignment getRefersToAssignment_6() { return cRefersToAssignment_6; }
+
+		//[Action|EString]
+		public CrossReference getRefersToActionCrossReference_6_0() { return cRefersToActionCrossReference_6_0; }
+
+		//EString
+		public RuleCall getRefersToActionEStringParserRuleCall_6_0_1() { return cRefersToActionEStringParserRuleCall_6_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+	}
+
+	public class AdaptationActionOperationElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationActionOperation");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cAdaptationActionOperationKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cAdaptationOperationScopeKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cAdaptationOperationScopeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0 = (RuleCall)cAdaptationOperationScopeAssignment_3.eContents().get(0);
+		private final Keyword cAdaptationOperationDirectionKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cAdaptationOperationDirectionAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0 = (RuleCall)cAdaptationOperationDirectionAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//AdaptationActionOperation:
+		//	"AdaptationActionOperation" "{" "adaptationOperationScope" adaptationOperationScope=AdaptationScope
+		//	"adaptationOperationDirection" adaptationOperationDirection=AdaptationDirection "}";
+		public ParserRule getRule() { return rule; }
+
+		//"AdaptationActionOperation" "{" "adaptationOperationScope" adaptationOperationScope=AdaptationScope
+		//"adaptationOperationDirection" adaptationOperationDirection=AdaptationDirection "}"
+		public Group getGroup() { return cGroup; }
+
+		//"AdaptationActionOperation"
+		public Keyword getAdaptationActionOperationKeyword_0() { return cAdaptationActionOperationKeyword_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+		//"adaptationOperationScope"
+		public Keyword getAdaptationOperationScopeKeyword_2() { return cAdaptationOperationScopeKeyword_2; }
+
+		//adaptationOperationScope=AdaptationScope
+		public Assignment getAdaptationOperationScopeAssignment_3() { return cAdaptationOperationScopeAssignment_3; }
+
+		//AdaptationScope
+		public RuleCall getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0() { return cAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0; }
+
+		//"adaptationOperationDirection"
+		public Keyword getAdaptationOperationDirectionKeyword_4() { return cAdaptationOperationDirectionKeyword_4; }
+
+		//adaptationOperationDirection=AdaptationDirection
+		public Assignment getAdaptationOperationDirectionAssignment_5() { return cAdaptationOperationDirectionAssignment_5; }
+
+		//AdaptationDirection
+		public RuleCall getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0() { return cAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class ModelVariableConfigurationRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModelVariableConfigurationRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cModelVariableConfigurationRangeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cMinValueKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cMinValueAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cMinValueEDoubleParserRuleCall_6_0 = (RuleCall)cMinValueAssignment_6.eContents().get(0);
+		private final Keyword cMaxValueKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cMaxValueAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cMaxValueEDoubleParserRuleCall_8_0 = (RuleCall)cMaxValueAssignment_8.eContents().get(0);
+		private final Keyword cAdaptableEntityKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Assignment cAdaptableEntityAssignment_10 = (Assignment)cGroup.eContents().get(10);
+		private final CrossReference cAdaptableEntityAdaptableEntityCrossReference_10_0 = (CrossReference)cAdaptableEntityAssignment_10.eContents().get(0);
+		private final RuleCall cAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1 = (RuleCall)cAdaptableEntityAdaptableEntityCrossReference_10_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		
+		//ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
+		//	"ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
+		//	maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}";
+		public ParserRule getRule() { return rule; }
+
+		//"ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
+		//maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}"
+		public Group getGroup() { return cGroup; }
+
+		//"ModelVariableConfigurationRange"
+		public Keyword getModelVariableConfigurationRangeKeyword_0() { return cModelVariableConfigurationRangeKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"minValue"
+		public Keyword getMinValueKeyword_5() { return cMinValueKeyword_5; }
+
+		//minValue=EDouble
+		public Assignment getMinValueAssignment_6() { return cMinValueAssignment_6; }
+
+		//EDouble
+		public RuleCall getMinValueEDoubleParserRuleCall_6_0() { return cMinValueEDoubleParserRuleCall_6_0; }
+
+		//"maxValue"
+		public Keyword getMaxValueKeyword_7() { return cMaxValueKeyword_7; }
+
+		//maxValue=EDouble
+		public Assignment getMaxValueAssignment_8() { return cMaxValueAssignment_8; }
+
+		//EDouble
+		public RuleCall getMaxValueEDoubleParserRuleCall_8_0() { return cMaxValueEDoubleParserRuleCall_8_0; }
+
+		//"adaptableEntity"
+		public Keyword getAdaptableEntityKeyword_9() { return cAdaptableEntityKeyword_9; }
+
+		//adaptableEntity=[core::AdaptableEntity|EString]
+		public Assignment getAdaptableEntityAssignment_10() { return cAdaptableEntityAssignment_10; }
+
+		//[core::AdaptableEntity|EString]
+		public CrossReference getAdaptableEntityAdaptableEntityCrossReference_10_0() { return cAdaptableEntityAdaptableEntityCrossReference_10_0; }
+
+		//EString
+		public RuleCall getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1() { return cAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+	}
+
+	public class ModelEntityConfigurationRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModelEntityConfigurationRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cModelEntityConfigurationRangeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cAdaptableEntityKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cAdaptableEntityAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final CrossReference cAdaptableEntityEntityCrossReference_6_0 = (CrossReference)cAdaptableEntityAssignment_6.eContents().get(0);
+		private final RuleCall cAdaptableEntityEntityEStringParserRuleCall_6_0_1 = (RuleCall)cAdaptableEntityEntityCrossReference_6_0.eContents().get(1);
+		private final Keyword cVariationPossibilityKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cVariationPossibilityAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cVariationPossibilityVariationTypeParserRuleCall_8_0 = (RuleCall)cVariationPossibilityAssignment_8.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
+		//	"ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
+		//	adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}";
+		public ParserRule getRule() { return rule; }
+
+		//"ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
+		//adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}"
+		public Group getGroup() { return cGroup; }
+
+		//"ModelEntityConfigurationRange"
+		public Keyword getModelEntityConfigurationRangeKeyword_0() { return cModelEntityConfigurationRangeKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"adaptableEntity"
+		public Keyword getAdaptableEntityKeyword_5() { return cAdaptableEntityKeyword_5; }
+
+		//adaptableEntity=[core::Entity|EString]
+		public Assignment getAdaptableEntityAssignment_6() { return cAdaptableEntityAssignment_6; }
+
+		//[core::Entity|EString]
+		public CrossReference getAdaptableEntityEntityCrossReference_6_0() { return cAdaptableEntityEntityCrossReference_6_0; }
+
+		//EString
+		public RuleCall getAdaptableEntityEntityEStringParserRuleCall_6_0_1() { return cAdaptableEntityEntityEStringParserRuleCall_6_0_1; }
+
+		//"variationPossibility"
+		public Keyword getVariationPossibilityKeyword_7() { return cVariationPossibilityKeyword_7; }
+
+		//variationPossibility=VariationType
+		public Assignment getVariationPossibilityAssignment_8() { return cVariationPossibilityAssignment_8; }
+
+		//VariationType
+		public RuleCall getVariationPossibilityVariationTypeParserRuleCall_8_0() { return cVariationPossibilityVariationTypeParserRuleCall_8_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+
+	public class EDoubleElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EDouble");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+		private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Alternatives cAlternatives_4_0 = (Alternatives)cGroup_4.eContents().get(0);
+		private final Keyword cEKeyword_4_0_0 = (Keyword)cAlternatives_4_0.eContents().get(0);
+		private final Keyword cEKeyword_4_0_1 = (Keyword)cAlternatives_4_0.eContents().get(1);
+		private final Keyword cHyphenMinusKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
+		private final RuleCall cINTTerminalRuleCall_4_2 = (RuleCall)cGroup_4.eContents().get(2);
+		
+		//EDouble returns ecore::EDouble:
+		//	"-"? INT? "." INT (("E" | "e") "-"? INT)?;
+		public ParserRule getRule() { return rule; }
+
+		//"-"? INT? "." INT (("E" | "e") "-"? INT)?
+		public Group getGroup() { return cGroup; }
+
+		//"-"?
+		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
+
+		//INT?
+		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
+
+		//INT
+		public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
+
+		//(("E" | "e") "-"? INT)?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"E" | "e"
+		public Alternatives getAlternatives_4_0() { return cAlternatives_4_0; }
+
+		//"E"
+		public Keyword getEKeyword_4_0_0() { return cEKeyword_4_0_0; }
+
+		//"e"
+		public Keyword getEKeyword_4_0_1() { return cEKeyword_4_0_1; }
+
+		//"-"?
+		public Keyword getHyphenMinusKeyword_4_1() { return cHyphenMinusKeyword_4_1; }
+
+		//INT
+		public RuleCall getINTTerminalRuleCall_4_2() { return cINTTerminalRuleCall_4_2; }
+	}
+
+	public class PropertyRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cPropertyRangeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cMinValueConstraintKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cMinValueConstraintAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cMinValueConstraintOclConstraintParserRuleCall_3_0 = (RuleCall)cMinValueConstraintAssignment_3.eContents().get(0);
+		private final Keyword cMaxValueConstraintKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cMaxValueConstraintAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cMaxValueConstraintOclConstraintParserRuleCall_5_0 = (RuleCall)cMaxValueConstraintAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//PropertyRange returns adaptationpoints::PropertyRange:
+		//	"PropertyRange" "{" "minValueConstraint" minValueConstraint=OclConstraint "maxValueConstraint"
+		//	maxValueConstraint=OclConstraint "}";
+		public ParserRule getRule() { return rule; }
+
+		//"PropertyRange" "{" "minValueConstraint" minValueConstraint=OclConstraint "maxValueConstraint"
+		//maxValueConstraint=OclConstraint "}"
+		public Group getGroup() { return cGroup; }
+
+		//"PropertyRange"
+		public Keyword getPropertyRangeKeyword_0() { return cPropertyRangeKeyword_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+		//"minValueConstraint"
+		public Keyword getMinValueConstraintKeyword_2() { return cMinValueConstraintKeyword_2; }
+
+		//minValueConstraint=OclConstraint
+		public Assignment getMinValueConstraintAssignment_3() { return cMinValueConstraintAssignment_3; }
+
+		//OclConstraint
+		public RuleCall getMinValueConstraintOclConstraintParserRuleCall_3_0() { return cMinValueConstraintOclConstraintParserRuleCall_3_0; }
+
+		//"maxValueConstraint"
+		public Keyword getMaxValueConstraintKeyword_4() { return cMaxValueConstraintKeyword_4; }
+
+		//maxValueConstraint=OclConstraint
+		public Assignment getMaxValueConstraintAssignment_5() { return cMaxValueConstraintAssignment_5; }
+
+		//OclConstraint
+		public RuleCall getMaxValueConstraintOclConstraintParserRuleCall_5_0() { return cMaxValueConstraintOclConstraintParserRuleCall_5_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class SetOfConfigurationsElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SetOfConfigurations");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cSetOfConfigurationsKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+		private final Keyword cVariantsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+		private final Assignment cVariantsAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
+		private final CrossReference cVariantsEntityCrossReference_2_2_0 = (CrossReference)cVariantsAssignment_2_2.eContents().get(0);
+		private final RuleCall cVariantsEntityEStringParserRuleCall_2_2_0_1 = (RuleCall)cVariantsEntityCrossReference_2_2_0.eContents().get(1);
+		private final Group cGroup_2_3 = (Group)cGroup_2.eContents().get(3);
+		private final Keyword cCommaKeyword_2_3_0 = (Keyword)cGroup_2_3.eContents().get(0);
+		private final Assignment cVariantsAssignment_2_3_1 = (Assignment)cGroup_2_3.eContents().get(1);
+		private final CrossReference cVariantsEntityCrossReference_2_3_1_0 = (CrossReference)cVariantsAssignment_2_3_1.eContents().get(0);
+		private final RuleCall cVariantsEntityEStringParserRuleCall_2_3_1_0_1 = (RuleCall)cVariantsEntityCrossReference_2_3_1_0.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_2_4 = (Keyword)cGroup_2.eContents().get(4);
+		private final Keyword cValueConstraintKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cValueConstraintAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cValueConstraintOclConstraintParserRuleCall_4_0 = (RuleCall)cValueConstraintAssignment_4.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		
+		//SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
+		//	"SetOfConfigurations" "{" ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])*
+		//	")")? "valueConstraint" valueConstraint=OclConstraint "}";
+		public ParserRule getRule() { return rule; }
+
+		//"SetOfConfigurations" "{" ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])* ")")?
+		//"valueConstraint" valueConstraint=OclConstraint "}"
+		public Group getGroup() { return cGroup; }
+
+		//"SetOfConfigurations"
+		public Keyword getSetOfConfigurationsKeyword_0() { return cSetOfConfigurationsKeyword_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+		//("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])* ")")?
+		public Group getGroup_2() { return cGroup_2; }
+
+		//"variants"
+		public Keyword getVariantsKeyword_2_0() { return cVariantsKeyword_2_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_2_1() { return cLeftParenthesisKeyword_2_1; }
+
+		//variants+=[core::Entity|EString]
+		public Assignment getVariantsAssignment_2_2() { return cVariantsAssignment_2_2; }
+
+		//[core::Entity|EString]
+		public CrossReference getVariantsEntityCrossReference_2_2_0() { return cVariantsEntityCrossReference_2_2_0; }
+
+		//EString
+		public RuleCall getVariantsEntityEStringParserRuleCall_2_2_0_1() { return cVariantsEntityEStringParserRuleCall_2_2_0_1; }
+
+		//("," variants+=[core::Entity|EString])*
+		public Group getGroup_2_3() { return cGroup_2_3; }
+
+		//","
+		public Keyword getCommaKeyword_2_3_0() { return cCommaKeyword_2_3_0; }
+
+		//variants+=[core::Entity|EString]
+		public Assignment getVariantsAssignment_2_3_1() { return cVariantsAssignment_2_3_1; }
+
+		//[core::Entity|EString]
+		public CrossReference getVariantsEntityCrossReference_2_3_1_0() { return cVariantsEntityCrossReference_2_3_1_0; }
+
+		//EString
+		public RuleCall getVariantsEntityEStringParserRuleCall_2_3_1_0_1() { return cVariantsEntityEStringParserRuleCall_2_3_1_0_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_2_4() { return cRightParenthesisKeyword_2_4; }
+
+		//"valueConstraint"
+		public Keyword getValueConstraintKeyword_3() { return cValueConstraintKeyword_3; }
+
+		//valueConstraint=OclConstraint
+		public Assignment getValueConstraintAssignment_4() { return cValueConstraintAssignment_4; }
+
+		//OclConstraint
+		public RuleCall getValueConstraintOclConstraintParserRuleCall_4_0() { return cValueConstraintOclConstraintParserRuleCall_4_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+	}
+
+	public class OclConstraintElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OclConstraint");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cOclConstraintKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cOclStringKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cOclStringAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cOclStringEStringParserRuleCall_4_0 = (RuleCall)cOclStringAssignment_4.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		
+		//OclConstraint returns adaptationpoints::OclConstraint:
+		//	"OclConstraint" name=EString "{" "oclString" oclString=EString "}";
+		public ParserRule getRule() { return rule; }
+
+		//"OclConstraint" name=EString "{" "oclString" oclString=EString "}"
+		public Group getGroup() { return cGroup; }
+
+		//"OclConstraint"
+		public Keyword getOclConstraintKeyword_0() { return cOclConstraintKeyword_0; }
+
+		//name=EString
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"oclString"
+		public Keyword getOclStringKeyword_3() { return cOclStringKeyword_3; }
+
+		//oclString=EString
+		public Assignment getOclStringAssignment_4() { return cOclStringAssignment_4; }
+
+		//EString
+		public RuleCall getOclStringEStringParserRuleCall_4_0() { return cOclStringEStringParserRuleCall_4_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+	}
+
+	public class AdaptationScopeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationScope");
+		private final Keyword cAdaptationScopeKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// * TODO: implement this rule and an appropriate IValueConverter * / AdaptationScope:
+		//	"AdaptationScope";
+		public ParserRule getRule() { return rule; }
+
+		//"AdaptationScope"
+		public Keyword getAdaptationScopeKeyword() { return cAdaptationScopeKeyword; }
+	}
+
+	public class AdaptationDirectionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationDirection");
+		private final Keyword cAdaptationDirectionKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// * TODO: implement this rule and an appropriate IValueConverter * / AdaptationDirection:
+		//	"AdaptationDirection";
+		public ParserRule getRule() { return rule; }
+
+		//"AdaptationDirection"
+		public Keyword getAdaptationDirectionKeyword() { return cAdaptationDirectionKeyword; }
+	}
+
+	public class ObjectiveElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Objective");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cObjectiveKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cSpecificationsKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cSpecificationsAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cSpecificationsSpecificationParserRuleCall_7_0 = (RuleCall)cSpecificationsAssignment_7.eContents().get(0);
+		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
+		private final Keyword cCommaKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
+		private final Assignment cSpecificationsAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
+		private final RuleCall cSpecificationsSpecificationParserRuleCall_8_1_0 = (RuleCall)cSpecificationsAssignment_8_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
+		
+		//Objective:
+		//	"Objective" id=EString "{" "name" name=EString "specifications" "{" specifications+=Specification (","
+		//	specifications+=Specification)* "}" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Objective" id=EString "{" "name" name=EString "specifications" "{" specifications+=Specification (","
+		//specifications+=Specification)* "}" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Objective"
+		public Keyword getObjectiveKeyword_0() { return cObjectiveKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"specifications"
+		public Keyword getSpecificationsKeyword_5() { return cSpecificationsKeyword_5; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+
+		//specifications+=Specification
+		public Assignment getSpecificationsAssignment_7() { return cSpecificationsAssignment_7; }
+
+		//Specification
+		public RuleCall getSpecificationsSpecificationParserRuleCall_7_0() { return cSpecificationsSpecificationParserRuleCall_7_0; }
+
+		//("," specifications+=Specification)*
+		public Group getGroup_8() { return cGroup_8; }
+
+		//","
+		public Keyword getCommaKeyword_8_0() { return cCommaKeyword_8_0; }
+
+		//specifications+=Specification
+		public Assignment getSpecificationsAssignment_8_1() { return cSpecificationsAssignment_8_1; }
+
+		//Specification
+		public RuleCall getSpecificationsSpecificationParserRuleCall_8_1_0() { return cSpecificationsSpecificationParserRuleCall_8_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
+	}
+
+	public class EventElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Event");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cEventKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		
+		//Event:
+		//	"Event" id=EString "{" "name" name=EString "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Event" id=EString "{" "name" name=EString "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Event"
+		public Keyword getEventKeyword_0() { return cEventKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+	}
+
+	public class WeightedTacticElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WeightedTactic");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cWeightedTacticKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cCurrentWeightKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cCurrentWeightAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cCurrentWeightEDoubleParserRuleCall_6_0 = (RuleCall)cCurrentWeightAssignment_6.eContents().get(0);
+		private final Keyword cDefaultWeightKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cDefaultWeightAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cDefaultWeightEDoubleParserRuleCall_8_0 = (RuleCall)cDefaultWeightAssignment_8.eContents().get(0);
+		private final Keyword cUsedTacticKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Assignment cUsedTacticAssignment_10 = (Assignment)cGroup.eContents().get(10);
+		private final CrossReference cUsedTacticTacticCrossReference_10_0 = (CrossReference)cUsedTacticAssignment_10.eContents().get(0);
+		private final RuleCall cUsedTacticTacticEStringParserRuleCall_10_0_1 = (RuleCall)cUsedTacticTacticCrossReference_10_0.eContents().get(1);
+		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
+		private final Keyword cLastImpactKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
+		private final Assignment cLastImpactAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
+		private final CrossReference cLastImpactImpactCrossReference_11_1_0 = (CrossReference)cLastImpactAssignment_11_1.eContents().get(0);
+		private final RuleCall cLastImpactImpactEStringParserRuleCall_11_1_0_1 = (RuleCall)cLastImpactImpactCrossReference_11_1_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12);
+		
+		//WeightedTactic:
+		//	"WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
+		//	defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
+		//	lastImpact=[perfdatarepo::Impact|EString])? "}";
+		public ParserRule getRule() { return rule; }
+
+		//"WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
+		//defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
+		//lastImpact=[perfdatarepo::Impact|EString])? "}"
+		public Group getGroup() { return cGroup; }
+
+		//"WeightedTactic"
+		public Keyword getWeightedTacticKeyword_0() { return cWeightedTacticKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"currentWeight"
+		public Keyword getCurrentWeightKeyword_5() { return cCurrentWeightKeyword_5; }
+
+		//currentWeight=EDouble
+		public Assignment getCurrentWeightAssignment_6() { return cCurrentWeightAssignment_6; }
+
+		//EDouble
+		public RuleCall getCurrentWeightEDoubleParserRuleCall_6_0() { return cCurrentWeightEDoubleParserRuleCall_6_0; }
+
+		//"defaultWeight"
+		public Keyword getDefaultWeightKeyword_7() { return cDefaultWeightKeyword_7; }
+
+		//defaultWeight=EDouble
+		public Assignment getDefaultWeightAssignment_8() { return cDefaultWeightAssignment_8; }
+
+		//EDouble
+		public RuleCall getDefaultWeightEDoubleParserRuleCall_8_0() { return cDefaultWeightEDoubleParserRuleCall_8_0; }
+
+		//"usedTactic"
+		public Keyword getUsedTacticKeyword_9() { return cUsedTacticKeyword_9; }
+
+		//usedTactic=[Tactic|EString]
+		public Assignment getUsedTacticAssignment_10() { return cUsedTacticAssignment_10; }
+
+		//[Tactic|EString]
+		public CrossReference getUsedTacticTacticCrossReference_10_0() { return cUsedTacticTacticCrossReference_10_0; }
+
+		//EString
+		public RuleCall getUsedTacticTacticEStringParserRuleCall_10_0_1() { return cUsedTacticTacticEStringParserRuleCall_10_0_1; }
+
+		//("lastImpact" lastImpact=[perfdatarepo::Impact|EString])?
+		public Group getGroup_11() { return cGroup_11; }
+
+		//"lastImpact"
+		public Keyword getLastImpactKeyword_11_0() { return cLastImpactKeyword_11_0; }
+
+		//lastImpact=[perfdatarepo::Impact|EString]
+		public Assignment getLastImpactAssignment_11_1() { return cLastImpactAssignment_11_1; }
+
+		//[perfdatarepo::Impact|EString]
+		public CrossReference getLastImpactImpactCrossReference_11_1_0() { return cLastImpactImpactCrossReference_11_1_0; }
+
+		//EString
+		public RuleCall getLastImpactImpactEStringParserRuleCall_11_1_0_1() { return cLastImpactImpactEStringParserRuleCall_11_1_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; }
+	}
+
+	public class WeightingFunctionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WeightingFunction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cWeightingFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cWeightingFunctionImplementationKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cWeightingFunctionImplementationAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cWeightingFunctionImplementationEStringParserRuleCall_6_0 = (RuleCall)cWeightingFunctionImplementationAssignment_6.eContents().get(0);
+		private final Keyword cWeightedMetricsKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Keyword cLeftCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		private final Assignment cWeightedMetricsAssignment_9 = (Assignment)cGroup.eContents().get(9);
+		private final RuleCall cWeightedMetricsWeightedMetricParserRuleCall_9_0 = (RuleCall)cWeightedMetricsAssignment_9.eContents().get(0);
+		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
+		private final Keyword cCommaKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
+		private final Assignment cWeightedMetricsAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
+		private final RuleCall cWeightedMetricsWeightedMetricParserRuleCall_10_1_0 = (RuleCall)cWeightedMetricsAssignment_10_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12);
+		
+		//WeightingFunction:
+		//	"WeightingFunction" id=EString "{" "name" name=EString "weightingFunctionImplementation"
+		//	weightingFunctionImplementation=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
+		//	weightedMetrics+=WeightedMetric)* "}" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"WeightingFunction" id=EString "{" "name" name=EString "weightingFunctionImplementation"
+		//weightingFunctionImplementation=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
+		//weightedMetrics+=WeightedMetric)* "}" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"WeightingFunction"
+		public Keyword getWeightingFunctionKeyword_0() { return cWeightingFunctionKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"weightingFunctionImplementation"
+		public Keyword getWeightingFunctionImplementationKeyword_5() { return cWeightingFunctionImplementationKeyword_5; }
+
+		//weightingFunctionImplementation=EString
+		public Assignment getWeightingFunctionImplementationAssignment_6() { return cWeightingFunctionImplementationAssignment_6; }
+
+		//EString
+		public RuleCall getWeightingFunctionImplementationEStringParserRuleCall_6_0() { return cWeightingFunctionImplementationEStringParserRuleCall_6_0; }
+
+		//"weightedMetrics"
+		public Keyword getWeightedMetricsKeyword_7() { return cWeightedMetricsKeyword_7; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_8() { return cLeftCurlyBracketKeyword_8; }
+
+		//weightedMetrics+=WeightedMetric
+		public Assignment getWeightedMetricsAssignment_9() { return cWeightedMetricsAssignment_9; }
+
+		//WeightedMetric
+		public RuleCall getWeightedMetricsWeightedMetricParserRuleCall_9_0() { return cWeightedMetricsWeightedMetricParserRuleCall_9_0; }
+
+		//("," weightedMetrics+=WeightedMetric)*
+		public Group getGroup_10() { return cGroup_10; }
+
+		//","
+		public Keyword getCommaKeyword_10_0() { return cCommaKeyword_10_0; }
+
+		//weightedMetrics+=WeightedMetric
+		public Assignment getWeightedMetricsAssignment_10_1() { return cWeightedMetricsAssignment_10_1; }
+
+		//WeightedMetric
+		public RuleCall getWeightedMetricsWeightedMetricParserRuleCall_10_1_0() { return cWeightedMetricsWeightedMetricParserRuleCall_10_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; }
+	}
+
+	public class SpecificationElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Specification");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cSpecificationKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cValueEDoubleParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
+		private final Keyword cRelationalOperatorKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cRelationalOperatorAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cRelationalOperatorRelationalOperatorParserRuleCall_5_0 = (RuleCall)cRelationalOperatorAssignment_5.eContents().get(0);
+		private final Keyword cMetricTypeKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cMetricTypeAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final CrossReference cMetricTypeMetricTypeCrossReference_7_0 = (CrossReference)cMetricTypeAssignment_7.eContents().get(0);
+		private final RuleCall cMetricTypeMetricTypeEStringParserRuleCall_7_0_1 = (RuleCall)cMetricTypeMetricTypeCrossReference_7_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		
+		//Specification:
+		//	"Specification" "{" "value" value=EDouble "relationalOperator" relationalOperator=RelationalOperator "metricType"
+		//	metricType=[perfdatarepo::MetricType|EString] "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Specification" "{" "value" value=EDouble "relationalOperator" relationalOperator=RelationalOperator "metricType"
+		//metricType=[perfdatarepo::MetricType|EString] "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Specification"
+		public Keyword getSpecificationKeyword_0() { return cSpecificationKeyword_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+		//"value"
+		public Keyword getValueKeyword_2() { return cValueKeyword_2; }
+
+		//value=EDouble
+		public Assignment getValueAssignment_3() { return cValueAssignment_3; }
+
+		//EDouble
+		public RuleCall getValueEDoubleParserRuleCall_3_0() { return cValueEDoubleParserRuleCall_3_0; }
+
+		//"relationalOperator"
+		public Keyword getRelationalOperatorKeyword_4() { return cRelationalOperatorKeyword_4; }
+
+		//relationalOperator=RelationalOperator
+		public Assignment getRelationalOperatorAssignment_5() { return cRelationalOperatorAssignment_5; }
+
+		//RelationalOperator
+		public RuleCall getRelationalOperatorRelationalOperatorParserRuleCall_5_0() { return cRelationalOperatorRelationalOperatorParserRuleCall_5_0; }
+
+		//"metricType"
+		public Keyword getMetricTypeKeyword_6() { return cMetricTypeKeyword_6; }
+
+		//metricType=[perfdatarepo::MetricType|EString]
+		public Assignment getMetricTypeAssignment_7() { return cMetricTypeAssignment_7; }
+
+		//[perfdatarepo::MetricType|EString]
+		public CrossReference getMetricTypeMetricTypeCrossReference_7_0() { return cMetricTypeMetricTypeCrossReference_7_0; }
+
+		//EString
+		public RuleCall getMetricTypeMetricTypeEStringParserRuleCall_7_0_1() { return cMetricTypeMetricTypeEStringParserRuleCall_7_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+	}
+
+	public class MetricTypeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MetricType");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cMetricTypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		
+		//MetricType returns perfdatarepo::MetricType:
+		//	"MetricType" id=EString "{" "name" name=EString "}";
+		public ParserRule getRule() { return rule; }
+
+		//"MetricType" id=EString "{" "name" name=EString "}"
+		public Group getGroup() { return cGroup; }
+
+		//"MetricType"
+		public Keyword getMetricTypeKeyword_0() { return cMetricTypeKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+	}
+
+	public class RelationalOperatorElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelationalOperator");
+		private final Keyword cRelationalOperatorKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// * TODO: implement this rule and an appropriate IValueConverter * / RelationalOperator:
+		//	"RelationalOperator";
+		public ParserRule getRule() { return rule; }
+
+		//"RelationalOperator"
+		public Keyword getRelationalOperatorKeyword() { return cRelationalOperatorKeyword; }
+	}
+
+	public class ImpactElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Impact");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cImpactKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cBeforeKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cBeforeAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final CrossReference cBeforeResultCrossReference_6_0 = (CrossReference)cBeforeAssignment_6.eContents().get(0);
+		private final RuleCall cBeforeResultEStringParserRuleCall_6_0_1 = (RuleCall)cBeforeResultCrossReference_6_0.eContents().get(1);
+		private final Keyword cAfterKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cAfterAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final CrossReference cAfterResultCrossReference_8_0 = (CrossReference)cAfterAssignment_8.eContents().get(0);
+		private final RuleCall cAfterResultEStringParserRuleCall_8_0_1 = (RuleCall)cAfterResultCrossReference_8_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//Impact returns perfdatarepo::Impact:
+		//	"Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
+		//	after=[perfdatarepo::Result|EString] "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
+		//after=[perfdatarepo::Result|EString] "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Impact"
+		public Keyword getImpactKeyword_0() { return cImpactKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"before"
+		public Keyword getBeforeKeyword_5() { return cBeforeKeyword_5; }
+
+		//before=[perfdatarepo::Result|EString]
+		public Assignment getBeforeAssignment_6() { return cBeforeAssignment_6; }
+
+		//[perfdatarepo::Result|EString]
+		public CrossReference getBeforeResultCrossReference_6_0() { return cBeforeResultCrossReference_6_0; }
+
+		//EString
+		public RuleCall getBeforeResultEStringParserRuleCall_6_0_1() { return cBeforeResultEStringParserRuleCall_6_0_1; }
+
+		//"after"
+		public Keyword getAfterKeyword_7() { return cAfterKeyword_7; }
+
+		//after=[perfdatarepo::Result|EString]
+		public Assignment getAfterAssignment_8() { return cAfterAssignment_8; }
+
+		//[perfdatarepo::Result|EString]
+		public CrossReference getAfterResultCrossReference_8_0() { return cAfterResultCrossReference_8_0; }
+
+		//EString
+		public RuleCall getAfterResultEStringParserRuleCall_8_0_1() { return cAfterResultEStringParserRuleCall_8_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+
+	public class ResultElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Result");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cResultKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cTimestampKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cTimestampAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cTimestampEDateParserRuleCall_6_0 = (RuleCall)cTimestampAssignment_6.eContents().get(0);
+		private final Keyword cMetricValuesKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Keyword cLeftCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		private final Assignment cMetricValuesAssignment_9 = (Assignment)cGroup.eContents().get(9);
+		private final RuleCall cMetricValuesMetricValueParserRuleCall_9_0 = (RuleCall)cMetricValuesAssignment_9.eContents().get(0);
+		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
+		private final Keyword cCommaKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
+		private final Assignment cMetricValuesAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
+		private final RuleCall cMetricValuesMetricValueParserRuleCall_10_1_0 = (RuleCall)cMetricValuesAssignment_10_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12);
+		
+		//Result returns perfdatarepo::Result:
+		//	"Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
+		//	("," metricValues+=MetricValue)* "}" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
+		//("," metricValues+=MetricValue)* "}" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"Result"
+		public Keyword getResultKeyword_0() { return cResultKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"timestamp"
+		public Keyword getTimestampKeyword_5() { return cTimestampKeyword_5; }
+
+		//timestamp=EDate
+		public Assignment getTimestampAssignment_6() { return cTimestampAssignment_6; }
+
+		//EDate
+		public RuleCall getTimestampEDateParserRuleCall_6_0() { return cTimestampEDateParserRuleCall_6_0; }
+
+		//"metricValues"
+		public Keyword getMetricValuesKeyword_7() { return cMetricValuesKeyword_7; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_8() { return cLeftCurlyBracketKeyword_8; }
+
+		//metricValues+=MetricValue
+		public Assignment getMetricValuesAssignment_9() { return cMetricValuesAssignment_9; }
+
+		//MetricValue
+		public RuleCall getMetricValuesMetricValueParserRuleCall_9_0() { return cMetricValuesMetricValueParserRuleCall_9_0; }
+
+		//("," metricValues+=MetricValue)*
+		public Group getGroup_10() { return cGroup_10; }
+
+		//","
+		public Keyword getCommaKeyword_10_0() { return cCommaKeyword_10_0; }
+
+		//metricValues+=MetricValue
+		public Assignment getMetricValuesAssignment_10_1() { return cMetricValuesAssignment_10_1; }
+
+		//MetricValue
+		public RuleCall getMetricValuesMetricValueParserRuleCall_10_1_0() { return cMetricValuesMetricValueParserRuleCall_10_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; }
+	}
+
+	public class EDateElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EDate");
+		private final Keyword cEDateKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// * TODO: implement this rule and an appropriate IValueConverter * / EDate returns ecore::EDate:
+		//	"EDate";
+		public ParserRule getRule() { return rule; }
+
+		//"EDate"
+		public Keyword getEDateKeyword() { return cEDateKeyword; }
+	}
+
+	public class MetricValueElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MetricValue");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cMetricValueKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cValueKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cValueAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cValueEDoubleParserRuleCall_6_0 = (RuleCall)cValueAssignment_6.eContents().get(0);
+		private final Keyword cMeasuredEntityKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cMeasuredEntityAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final CrossReference cMeasuredEntityMeasuredEntityCrossReference_8_0 = (CrossReference)cMeasuredEntityAssignment_8.eContents().get(0);
+		private final RuleCall cMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1 = (RuleCall)cMeasuredEntityMeasuredEntityCrossReference_8_0.eContents().get(1);
+		private final Keyword cMetricTypeKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Assignment cMetricTypeAssignment_10 = (Assignment)cGroup.eContents().get(10);
+		private final CrossReference cMetricTypeMetricTypeCrossReference_10_0 = (CrossReference)cMetricTypeAssignment_10.eContents().get(0);
+		private final RuleCall cMetricTypeMetricTypeEStringParserRuleCall_10_0_1 = (RuleCall)cMetricTypeMetricTypeCrossReference_10_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+		
+		//MetricValue returns perfdatarepo::MetricValue:
+		//	"MetricValue" id=EString "{" "name" name=EString "value" value=EDouble "measuredEntity"
+		//	measuredEntity=[perfdatarepo::MeasuredEntity|EString] "metricType" metricType=[perfdatarepo::MetricType|EString] "}";
+		public ParserRule getRule() { return rule; }
+
+		//"MetricValue" id=EString "{" "name" name=EString "value" value=EDouble "measuredEntity"
+		//measuredEntity=[perfdatarepo::MeasuredEntity|EString] "metricType" metricType=[perfdatarepo::MetricType|EString] "}"
+		public Group getGroup() { return cGroup; }
+
+		//"MetricValue"
+		public Keyword getMetricValueKeyword_0() { return cMetricValueKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"value"
+		public Keyword getValueKeyword_5() { return cValueKeyword_5; }
+
+		//value=EDouble
+		public Assignment getValueAssignment_6() { return cValueAssignment_6; }
+
+		//EDouble
+		public RuleCall getValueEDoubleParserRuleCall_6_0() { return cValueEDoubleParserRuleCall_6_0; }
+
+		//"measuredEntity"
+		public Keyword getMeasuredEntityKeyword_7() { return cMeasuredEntityKeyword_7; }
+
+		//measuredEntity=[perfdatarepo::MeasuredEntity|EString]
+		public Assignment getMeasuredEntityAssignment_8() { return cMeasuredEntityAssignment_8; }
+
+		//[perfdatarepo::MeasuredEntity|EString]
+		public CrossReference getMeasuredEntityMeasuredEntityCrossReference_8_0() { return cMeasuredEntityMeasuredEntityCrossReference_8_0; }
+
+		//EString
+		public RuleCall getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1() { return cMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1; }
+
+		//"metricType"
+		public Keyword getMetricTypeKeyword_9() { return cMetricTypeKeyword_9; }
+
+		//metricType=[perfdatarepo::MetricType|EString]
+		public Assignment getMetricTypeAssignment_10() { return cMetricTypeAssignment_10; }
+
+		//[perfdatarepo::MetricType|EString]
+		public CrossReference getMetricTypeMetricTypeCrossReference_10_0() { return cMetricTypeMetricTypeCrossReference_10_0; }
+
+		//EString
+		public RuleCall getMetricTypeMetricTypeEStringParserRuleCall_10_0_1() { return cMetricTypeMetricTypeEStringParserRuleCall_10_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+	}
+
+	public class MeasuredEntityElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MeasuredEntity");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cMeasuredEntityKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cMetricTypesKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cLeftParenthesisKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cMetricTypesAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final CrossReference cMetricTypesMetricTypeCrossReference_7_0 = (CrossReference)cMetricTypesAssignment_7.eContents().get(0);
+		private final RuleCall cMetricTypesMetricTypeEStringParserRuleCall_7_0_1 = (RuleCall)cMetricTypesMetricTypeCrossReference_7_0.eContents().get(1);
+		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
+		private final Keyword cCommaKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
+		private final Assignment cMetricTypesAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
+		private final CrossReference cMetricTypesMetricTypeCrossReference_8_1_0 = (CrossReference)cMetricTypesAssignment_8_1.eContents().get(0);
+		private final RuleCall cMetricTypesMetricTypeEStringParserRuleCall_8_1_0_1 = (RuleCall)cMetricTypesMetricTypeCrossReference_8_1_0.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
+		
+		//MeasuredEntity returns perfdatarepo::MeasuredEntity:
+		//	"MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
+		//	("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
+		//("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"MeasuredEntity"
+		public Keyword getMeasuredEntityKeyword_0() { return cMeasuredEntityKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"metricTypes"
+		public Keyword getMetricTypesKeyword_5() { return cMetricTypesKeyword_5; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_6() { return cLeftParenthesisKeyword_6; }
+
+		//metricTypes+=[perfdatarepo::MetricType|EString]
+		public Assignment getMetricTypesAssignment_7() { return cMetricTypesAssignment_7; }
+
+		//[perfdatarepo::MetricType|EString]
+		public CrossReference getMetricTypesMetricTypeCrossReference_7_0() { return cMetricTypesMetricTypeCrossReference_7_0; }
+
+		//EString
+		public RuleCall getMetricTypesMetricTypeEStringParserRuleCall_7_0_1() { return cMetricTypesMetricTypeEStringParserRuleCall_7_0_1; }
+
+		//("," metricTypes+=[perfdatarepo::MetricType|EString])*
+		public Group getGroup_8() { return cGroup_8; }
+
+		//","
+		public Keyword getCommaKeyword_8_0() { return cCommaKeyword_8_0; }
+
+		//metricTypes+=[perfdatarepo::MetricType|EString]
+		public Assignment getMetricTypesAssignment_8_1() { return cMetricTypesAssignment_8_1; }
+
+		//[perfdatarepo::MetricType|EString]
+		public CrossReference getMetricTypesMetricTypeCrossReference_8_1_0() { return cMetricTypesMetricTypeCrossReference_8_1_0; }
+
+		//EString
+		public RuleCall getMetricTypesMetricTypeEStringParserRuleCall_8_1_0_1() { return cMetricTypesMetricTypeEStringParserRuleCall_8_1_0_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_9() { return cRightParenthesisKeyword_9; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
+	}
+
+	public class WeightedMetricElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WeightedMetric");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cWeightedMetricKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0);
+		private final Keyword cWeightKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cWeightAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cWeightEDoubleParserRuleCall_6_0 = (RuleCall)cWeightAssignment_6.eContents().get(0);
+		private final Keyword cMetricTypeKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cMetricTypeAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final CrossReference cMetricTypeMetricTypeCrossReference_8_0 = (CrossReference)cMetricTypeAssignment_8.eContents().get(0);
+		private final RuleCall cMetricTypeMetricTypeEStringParserRuleCall_8_0_1 = (RuleCall)cMetricTypeMetricTypeCrossReference_8_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//WeightedMetric:
+		//	"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
+		//	metricType=[perfdatarepo::MetricType|EString] "}";
+		public ParserRule getRule() { return rule; }
+
+		//"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
+		//metricType=[perfdatarepo::MetricType|EString] "}"
+		public Group getGroup() { return cGroup; }
+
+		//"WeightedMetric"
+		public Keyword getWeightedMetricKeyword_0() { return cWeightedMetricKeyword_0; }
+
+		//id=EString
+		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+		//EString
+		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"name"
+		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+
+		//name=EString
+		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+
+		//EString
+		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+
+		//"weight"
+		public Keyword getWeightKeyword_5() { return cWeightKeyword_5; }
+
+		//weight=EDouble
+		public Assignment getWeightAssignment_6() { return cWeightAssignment_6; }
+
+		//EDouble
+		public RuleCall getWeightEDoubleParserRuleCall_6_0() { return cWeightEDoubleParserRuleCall_6_0; }
+
+		//"metricType"
+		public Keyword getMetricTypeKeyword_7() { return cMetricTypeKeyword_7; }
+
+		//metricType=[perfdatarepo::MetricType|EString]
+		public Assignment getMetricTypeAssignment_8() { return cMetricTypeAssignment_8; }
+
+		//[perfdatarepo::MetricType|EString]
+		public CrossReference getMetricTypeMetricTypeCrossReference_8_0() { return cMetricTypeMetricTypeCrossReference_8_0; }
+
+		//EString
+		public RuleCall getMetricTypeMetricTypeEStringParserRuleCall_8_0_1() { return cMetricTypeMetricTypeEStringParserRuleCall_8_0_1; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+	
+	
+	private AdaptationProcessElements pAdaptationProcess;
+	private AdaptationPointElements pAdaptationPoint;
+	private AbstractControlFlowElementElements pAbstractControlFlowElement;
+	private VariationTypeElements pVariationType;
+	private EStringElements pEString;
+	private TacticElements pTactic;
+	private ActionElements pAction;
+	private StrategyElements pStrategy;
+	private ParameterElements pParameter;
+	private OverallGoalElements pOverallGoal;
+	private ImportDeclarationElements pImportDeclaration;
+	private AdaptationPlanElements pAdaptationPlan;
+	private StartActionElements pStartAction;
+	private StopActionElements pStopAction;
+	private LoopActionElements pLoopAction;
+	private BranchActionElements pBranchAction;
+	private ActionReferenceElements pActionReference;
+	private AdaptationActionOperationElements pAdaptationActionOperation;
+	private ModelVariableConfigurationRangeElements pModelVariableConfigurationRange;
+	private ModelEntityConfigurationRangeElements pModelEntityConfigurationRange;
+	private EDoubleElements pEDouble;
+	private PropertyRangeElements pPropertyRange;
+	private SetOfConfigurationsElements pSetOfConfigurations;
+	private OclConstraintElements pOclConstraint;
+	private AdaptationScopeElements pAdaptationScope;
+	private AdaptationDirectionElements pAdaptationDirection;
+	private ObjectiveElements pObjective;
+	private EventElements pEvent;
+	private WeightedTacticElements pWeightedTactic;
+	private WeightingFunctionElements pWeightingFunction;
+	private SpecificationElements pSpecification;
+	private MetricTypeElements pMetricType;
+	private RelationalOperatorElements pRelationalOperator;
+	private ImpactElements pImpact;
+	private ResultElements pResult;
+	private EDateElements pEDate;
+	private MetricValueElements pMetricValue;
+	private MeasuredEntityElements pMeasuredEntity;
+	private WeightedMetricElements pWeightedMetric;
+	
+	private final Grammar grammar;
+
+	private TerminalsGrammarAccess gaTerminals;
+
+	@Inject
+	public StaLangGrammarAccess(GrammarProvider grammarProvider,
+		TerminalsGrammarAccess gaTerminals) {
+		this.grammar = internalFindGrammar(grammarProvider);
+		this.gaTerminals = gaTerminals;
+	}
+	
+	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
+		Grammar grammar = grammarProvider.getGrammar(this);
+		while (grammar != null) {
+			if ("edu.kit.ipd.descartes.StaLang".equals(grammar.getName())) {
+				return grammar;
+			}
+			List<Grammar> grammars = grammar.getUsedGrammars();
+			if (!grammars.isEmpty()) {
+				grammar = grammars.iterator().next();
+			} else {
+				return null;
+			}
+		}
+		return grammar;
+	}
+	
+	
+	public Grammar getGrammar() {
+		return grammar;
+	}
+	
+
+	public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+		return gaTerminals;
+	}
+
+	
+	//AdaptationProcess:
+	//	"AdaptationProcess" id=EString "{" "name" name=EString "tactics" "{" tactics+=Tactic ("," tactics+=Tactic)* "}"
+	//	"actions" "{" actions+=Action ("," actions+=Action)* "}" "strategies" "{" strategies+=Strategy (","
+	//	strategies+=Strategy)* "}" ("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "goal"
+	//	goal=OverallGoal importDeclaration=ImportDeclaration? "}";
+	public AdaptationProcessElements getAdaptationProcessAccess() {
+		return (pAdaptationProcess != null) ? pAdaptationProcess : (pAdaptationProcess = new AdaptationProcessElements());
+	}
+	
+	public ParserRule getAdaptationProcessRule() {
+		return getAdaptationProcessAccess().getRule();
+	}
+
+	//AdaptationPoint returns adaptationpoints::AdaptationPoint:
+	//	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+	public AdaptationPointElements getAdaptationPointAccess() {
+		return (pAdaptationPoint != null) ? pAdaptationPoint : (pAdaptationPoint = new AdaptationPointElements());
+	}
+	
+	public ParserRule getAdaptationPointRule() {
+		return getAdaptationPointAccess().getRule();
+	}
+
+	//AbstractControlFlowElement:
+	//	StartAction | StopAction | LoopAction | BranchAction | ActionReference;
+	public AbstractControlFlowElementElements getAbstractControlFlowElementAccess() {
+		return (pAbstractControlFlowElement != null) ? pAbstractControlFlowElement : (pAbstractControlFlowElement = new AbstractControlFlowElementElements());
+	}
+	
+	public ParserRule getAbstractControlFlowElementRule() {
+		return getAbstractControlFlowElementAccess().getRule();
+	}
+
+	//VariationType returns adaptationpoints::VariationType:
+	//	PropertyRange | SetOfConfigurations;
+	public VariationTypeElements getVariationTypeAccess() {
+		return (pVariationType != null) ? pVariationType : (pVariationType = new VariationTypeElements());
+	}
+	
+	public ParserRule getVariationTypeRule() {
+		return getVariationTypeAccess().getRule();
+	}
+
+	//EString returns ecore::EString:
+	//	STRING | ID;
+	public EStringElements getEStringAccess() {
+		return (pEString != null) ? pEString : (pEString = new EStringElements());
+	}
+	
+	public ParserRule getEStringRule() {
+		return getEStringAccess().getRule();
+	}
+
+	//Tactic:
+	//	"Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
+	//	inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
+	//	implementedPlan=AdaptationPlan "}";
+	public TacticElements getTacticAccess() {
+		return (pTactic != null) ? pTactic : (pTactic = new TacticElements());
+	}
+	
+	public ParserRule getTacticRule() {
+		return getTacticAccess().getRule();
+	}
+
+	//Action:
+	//	"Action" id=EString "{" "name" name=EString ("outputParam" outputParam=[Parameter|EString])? ("inputParams" "("
+	//	inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")? "referredAdaptationPoint"
+	//	referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation"
+	//	adaptationActionOperation=AdaptationActionOperation "}";
+	public ActionElements getActionAccess() {
+		return (pAction != null) ? pAction : (pAction = new ActionElements());
+	}
+	
+	public ParserRule getActionRule() {
+		return getActionAccess().getRule();
+	}
+
+	//Strategy:
+	//	"Strategy" id=EString "{" "name" name=EString "objective" objective=[Objective|EString] "triggeringEvents"
+	//	triggeringEvents=Event "tactics" "{" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "}" "weightingFunction"
+	//	weightingFunction=WeightingFunction "}";
+	public StrategyElements getStrategyAccess() {
+		return (pStrategy != null) ? pStrategy : (pStrategy = new StrategyElements());
+	}
+	
+	public ParserRule getStrategyRule() {
+		return getStrategyAccess().getRule();
+	}
+
+	//Parameter:
+	//	"Parameter" name=EString "{" "type" type=EString "value" value=EString "}";
+	public ParameterElements getParameterAccess() {
+		return (pParameter != null) ? pParameter : (pParameter = new ParameterElements());
+	}
+	
+	public ParserRule getParameterRule() {
+		return getParameterAccess().getRule();
+	}
+
+	//OverallGoal:
+	//	"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective (","
+	//	objectives+=Objective)* "}" "}";
+	public OverallGoalElements getOverallGoalAccess() {
+		return (pOverallGoal != null) ? pOverallGoal : (pOverallGoal = new OverallGoalElements());
+	}
+	
+	public ParserRule getOverallGoalRule() {
+		return getOverallGoalAccess().getRule();
+	}
+
+	//ImportDeclaration:
+	//	"ImportDeclaration" importURI=EString;
+	public ImportDeclarationElements getImportDeclarationAccess() {
+		return (pImportDeclaration != null) ? pImportDeclaration : (pImportDeclaration = new ImportDeclarationElements());
+	}
+	
+	public ParserRule getImportDeclarationRule() {
+		return getImportDeclarationAccess().getRule();
+	}
+
+	//AdaptationPlan:
+	//	"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
+	//	steps+=AbstractControlFlowElement)* "}")? "}";
+	public AdaptationPlanElements getAdaptationPlanAccess() {
+		return (pAdaptationPlan != null) ? pAdaptationPlan : (pAdaptationPlan = new AdaptationPlanElements());
+	}
+	
+	public ParserRule getAdaptationPlanRule() {
+		return getAdaptationPlanAccess().getRule();
+	}
+
+	//StartAction:
+	//	{StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+	//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+	public StartActionElements getStartActionAccess() {
+		return (pStartAction != null) ? pStartAction : (pStartAction = new StartActionElements());
+	}
+	
+	public ParserRule getStartActionRule() {
+		return getStartActionAccess().getRule();
+	}
+
+	//StopAction:
+	//	{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
+	//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+	public StopActionElements getStopActionAccess() {
+		return (pStopAction != null) ? pStopAction : (pStopAction = new StopActionElements());
+	}
+	
+	public ParserRule getStopActionRule() {
+		return getStopActionAccess().getRule();
+	}
+
+	//LoopAction:
+	//	"LoopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+	//	successor=[AbstractControlFlowElement|EString])? "counter" counter=[Parameter|EString] "body" body=AdaptationPlan "}";
+	public LoopActionElements getLoopActionAccess() {
+		return (pLoopAction != null) ? pLoopAction : (pLoopAction = new LoopActionElements());
+	}
+	
+	public ParserRule getLoopActionRule() {
+		return getLoopActionAccess().getRule();
+	}
+
+	//BranchAction:
+	//	"BranchAction" id=EString "{" ("condition" condition=EString)? ("predecessor"
+	//	predecessor=[AbstractControlFlowElement|EString])? ("successor" successor=[AbstractControlFlowElement|EString])?
+	//	("context" context=[core::Entity|EString])? "conditionTrueBranch" conditionTrueBranch=AdaptationPlan
+	//	"conditionFalseBranch" conditionFalseBranch=AdaptationPlan "}";
+	public BranchActionElements getBranchActionAccess() {
+		return (pBranchAction != null) ? pBranchAction : (pBranchAction = new BranchActionElements());
+	}
+	
+	public ParserRule getBranchActionRule() {
+		return getBranchActionAccess().getRule();
+	}
+
+	//ActionReference:
+	//	"ActionReference" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
+	//	successor=[AbstractControlFlowElement|EString])? "refersTo" refersTo=[Action|EString] "}";
+	public ActionReferenceElements getActionReferenceAccess() {
+		return (pActionReference != null) ? pActionReference : (pActionReference = new ActionReferenceElements());
+	}
+	
+	public ParserRule getActionReferenceRule() {
+		return getActionReferenceAccess().getRule();
+	}
+
+	//AdaptationActionOperation:
+	//	"AdaptationActionOperation" "{" "adaptationOperationScope" adaptationOperationScope=AdaptationScope
+	//	"adaptationOperationDirection" adaptationOperationDirection=AdaptationDirection "}";
+	public AdaptationActionOperationElements getAdaptationActionOperationAccess() {
+		return (pAdaptationActionOperation != null) ? pAdaptationActionOperation : (pAdaptationActionOperation = new AdaptationActionOperationElements());
+	}
+	
+	public ParserRule getAdaptationActionOperationRule() {
+		return getAdaptationActionOperationAccess().getRule();
+	}
+
+	//ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
+	//	"ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
+	//	maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}";
+	public ModelVariableConfigurationRangeElements getModelVariableConfigurationRangeAccess() {
+		return (pModelVariableConfigurationRange != null) ? pModelVariableConfigurationRange : (pModelVariableConfigurationRange = new ModelVariableConfigurationRangeElements());
+	}
+	
+	public ParserRule getModelVariableConfigurationRangeRule() {
+		return getModelVariableConfigurationRangeAccess().getRule();
+	}
+
+	//ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
+	//	"ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
+	//	adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}";
+	public ModelEntityConfigurationRangeElements getModelEntityConfigurationRangeAccess() {
+		return (pModelEntityConfigurationRange != null) ? pModelEntityConfigurationRange : (pModelEntityConfigurationRange = new ModelEntityConfigurationRangeElements());
+	}
+	
+	public ParserRule getModelEntityConfigurationRangeRule() {
+		return getModelEntityConfigurationRangeAccess().getRule();
+	}
+
+	//EDouble returns ecore::EDouble:
+	//	"-"? INT? "." INT (("E" | "e") "-"? INT)?;
+	public EDoubleElements getEDoubleAccess() {
+		return (pEDouble != null) ? pEDouble : (pEDouble = new EDoubleElements());
+	}
+	
+	public ParserRule getEDoubleRule() {
+		return getEDoubleAccess().getRule();
+	}
+
+	//PropertyRange returns adaptationpoints::PropertyRange:
+	//	"PropertyRange" "{" "minValueConstraint" minValueConstraint=OclConstraint "maxValueConstraint"
+	//	maxValueConstraint=OclConstraint "}";
+	public PropertyRangeElements getPropertyRangeAccess() {
+		return (pPropertyRange != null) ? pPropertyRange : (pPropertyRange = new PropertyRangeElements());
+	}
+	
+	public ParserRule getPropertyRangeRule() {
+		return getPropertyRangeAccess().getRule();
+	}
+
+	//SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
+	//	"SetOfConfigurations" "{" ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])*
+	//	")")? "valueConstraint" valueConstraint=OclConstraint "}";
+	public SetOfConfigurationsElements getSetOfConfigurationsAccess() {
+		return (pSetOfConfigurations != null) ? pSetOfConfigurations : (pSetOfConfigurations = new SetOfConfigurationsElements());
+	}
+	
+	public ParserRule getSetOfConfigurationsRule() {
+		return getSetOfConfigurationsAccess().getRule();
+	}
+
+	//OclConstraint returns adaptationpoints::OclConstraint:
+	//	"OclConstraint" name=EString "{" "oclString" oclString=EString "}";
+	public OclConstraintElements getOclConstraintAccess() {
+		return (pOclConstraint != null) ? pOclConstraint : (pOclConstraint = new OclConstraintElements());
+	}
+	
+	public ParserRule getOclConstraintRule() {
+		return getOclConstraintAccess().getRule();
+	}
+
+	/// * TODO: implement this rule and an appropriate IValueConverter * / AdaptationScope:
+	//	"AdaptationScope";
+	public AdaptationScopeElements getAdaptationScopeAccess() {
+		return (pAdaptationScope != null) ? pAdaptationScope : (pAdaptationScope = new AdaptationScopeElements());
+	}
+	
+	public ParserRule getAdaptationScopeRule() {
+		return getAdaptationScopeAccess().getRule();
+	}
+
+	/// * TODO: implement this rule and an appropriate IValueConverter * / AdaptationDirection:
+	//	"AdaptationDirection";
+	public AdaptationDirectionElements getAdaptationDirectionAccess() {
+		return (pAdaptationDirection != null) ? pAdaptationDirection : (pAdaptationDirection = new AdaptationDirectionElements());
+	}
+	
+	public ParserRule getAdaptationDirectionRule() {
+		return getAdaptationDirectionAccess().getRule();
+	}
+
+	//Objective:
+	//	"Objective" id=EString "{" "name" name=EString "specifications" "{" specifications+=Specification (","
+	//	specifications+=Specification)* "}" "}";
+	public ObjectiveElements getObjectiveAccess() {
+		return (pObjective != null) ? pObjective : (pObjective = new ObjectiveElements());
+	}
+	
+	public ParserRule getObjectiveRule() {
+		return getObjectiveAccess().getRule();
+	}
+
+	//Event:
+	//	"Event" id=EString "{" "name" name=EString "}";
+	public EventElements getEventAccess() {
+		return (pEvent != null) ? pEvent : (pEvent = new EventElements());
+	}
+	
+	public ParserRule getEventRule() {
+		return getEventAccess().getRule();
+	}
+
+	//WeightedTactic:
+	//	"WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
+	//	defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
+	//	lastImpact=[perfdatarepo::Impact|EString])? "}";
+	public WeightedTacticElements getWeightedTacticAccess() {
+		return (pWeightedTactic != null) ? pWeightedTactic : (pWeightedTactic = new WeightedTacticElements());
+	}
+	
+	public ParserRule getWeightedTacticRule() {
+		return getWeightedTacticAccess().getRule();
+	}
+
+	//WeightingFunction:
+	//	"WeightingFunction" id=EString "{" "name" name=EString "weightingFunctionImplementation"
+	//	weightingFunctionImplementation=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
+	//	weightedMetrics+=WeightedMetric)* "}" "}";
+	public WeightingFunctionElements getWeightingFunctionAccess() {
+		return (pWeightingFunction != null) ? pWeightingFunction : (pWeightingFunction = new WeightingFunctionElements());
+	}
+	
+	public ParserRule getWeightingFunctionRule() {
+		return getWeightingFunctionAccess().getRule();
+	}
+
+	//Specification:
+	//	"Specification" "{" "value" value=EDouble "relationalOperator" relationalOperator=RelationalOperator "metricType"
+	//	metricType=[perfdatarepo::MetricType|EString] "}";
+	public SpecificationElements getSpecificationAccess() {
+		return (pSpecification != null) ? pSpecification : (pSpecification = new SpecificationElements());
+	}
+	
+	public ParserRule getSpecificationRule() {
+		return getSpecificationAccess().getRule();
+	}
+
+	//MetricType returns perfdatarepo::MetricType:
+	//	"MetricType" id=EString "{" "name" name=EString "}";
+	public MetricTypeElements getMetricTypeAccess() {
+		return (pMetricType != null) ? pMetricType : (pMetricType = new MetricTypeElements());
+	}
+	
+	public ParserRule getMetricTypeRule() {
+		return getMetricTypeAccess().getRule();
+	}
+
+	/// * TODO: implement this rule and an appropriate IValueConverter * / RelationalOperator:
+	//	"RelationalOperator";
+	public RelationalOperatorElements getRelationalOperatorAccess() {
+		return (pRelationalOperator != null) ? pRelationalOperator : (pRelationalOperator = new RelationalOperatorElements());
+	}
+	
+	public ParserRule getRelationalOperatorRule() {
+		return getRelationalOperatorAccess().getRule();
+	}
+
+	//Impact returns perfdatarepo::Impact:
+	//	"Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
+	//	after=[perfdatarepo::Result|EString] "}";
+	public ImpactElements getImpactAccess() {
+		return (pImpact != null) ? pImpact : (pImpact = new ImpactElements());
+	}
+	
+	public ParserRule getImpactRule() {
+		return getImpactAccess().getRule();
+	}
+
+	//Result returns perfdatarepo::Result:
+	//	"Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
+	//	("," metricValues+=MetricValue)* "}" "}";
+	public ResultElements getResultAccess() {
+		return (pResult != null) ? pResult : (pResult = new ResultElements());
+	}
+	
+	public ParserRule getResultRule() {
+		return getResultAccess().getRule();
+	}
+
+	/// * TODO: implement this rule and an appropriate IValueConverter * / EDate returns ecore::EDate:
+	//	"EDate";
+	public EDateElements getEDateAccess() {
+		return (pEDate != null) ? pEDate : (pEDate = new EDateElements());
+	}
+	
+	public ParserRule getEDateRule() {
+		return getEDateAccess().getRule();
+	}
+
+	//MetricValue returns perfdatarepo::MetricValue:
+	//	"MetricValue" id=EString "{" "name" name=EString "value" value=EDouble "measuredEntity"
+	//	measuredEntity=[perfdatarepo::MeasuredEntity|EString] "metricType" metricType=[perfdatarepo::MetricType|EString] "}";
+	public MetricValueElements getMetricValueAccess() {
+		return (pMetricValue != null) ? pMetricValue : (pMetricValue = new MetricValueElements());
+	}
+	
+	public ParserRule getMetricValueRule() {
+		return getMetricValueAccess().getRule();
+	}
+
+	//MeasuredEntity returns perfdatarepo::MeasuredEntity:
+	//	"MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
+	//	("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}";
+	public MeasuredEntityElements getMeasuredEntityAccess() {
+		return (pMeasuredEntity != null) ? pMeasuredEntity : (pMeasuredEntity = new MeasuredEntityElements());
+	}
+	
+	public ParserRule getMeasuredEntityRule() {
+		return getMeasuredEntityAccess().getRule();
+	}
+
+	//WeightedMetric:
+	//	"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
+	//	metricType=[perfdatarepo::MetricType|EString] "}";
+	public WeightedMetricElements getWeightedMetricAccess() {
+		return (pWeightedMetric != null) ? pWeightedMetric : (pWeightedMetric = new WeightedMetricElements());
+	}
+	
+	public ParserRule getWeightedMetricRule() {
+		return getWeightedMetricAccess().getRule();
+	}
+
+	//terminal ID:
+	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
+	public TerminalRule getIDRule() {
+		return gaTerminals.getIDRule();
+	} 
+
+	//terminal INT returns ecore::EInt:
+	//	"0".."9"+;
+	public TerminalRule getINTRule() {
+		return gaTerminals.getINTRule();
+	} 
+
+	//terminal STRING:
+	//	"\"" ("\\" ("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")?;
+	public TerminalRule getSL_COMMENTRule() {
+		return gaTerminals.getSL_COMMENTRule();
+	} 
+
+	//terminal WS:
+	//	(" " | "\t" | "\r" | "\n")+;
+	public TerminalRule getWSRule() {
+		return gaTerminals.getWSRule();
+	} 
+
+	//terminal ANY_OTHER:
+	//	.;
+	public TerminalRule getANY_OTHERRule() {
+		return gaTerminals.getANY_OTHERRule();
+	} 
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/validation/AbstractStaLangJavaValidator.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/validation/AbstractStaLangJavaValidator.java
new file mode 100644
index 0000000000000000000000000000000000000000..908db61ee38f0f5ef490485965bf42b087c1e683
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/validation/AbstractStaLangJavaValidator.java
@@ -0,0 +1,24 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.validation;
+ 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class})
+public class AbstractStaLangJavaValidator extends org.eclipse.xtext.validation.AbstractDeclarativeValidator {
+
+	@Override
+	protected List<EPackage> getEPackages() {
+	    List<EPackage> result = new ArrayList<EPackage>();
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/adaptation/0.1"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/adaptationpoints/0.1"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/perfdata/0.1"));
+		return result;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/StaLangRuntimeModule.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/StaLangRuntimeModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..b302efec629c5d44c31f5c26d61dfac30d063c8b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/StaLangRuntimeModule.java
@@ -0,0 +1,17 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes;
+
+import org.eclipse.xtext.scoping.IGlobalScopeProvider;
+import org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class StaLangRuntimeModule extends edu.kit.ipd.descartes.AbstractStaLangRuntimeModule {
+	@Override
+	public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider (){
+		return ImportUriGlobalScopeProvider.class ; 
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/StaLangStandaloneSetup.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/StaLangStandaloneSetup.java
new file mode 100644
index 0000000000000000000000000000000000000000..d95c114da5bca9faa324f00a29ca19149f132826
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/StaLangStandaloneSetup.java
@@ -0,0 +1,16 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes;
+
+/**
+ * Initialization support for running Xtext languages 
+ * without equinox extension registry
+ */
+public class StaLangStandaloneSetup extends StaLangStandaloneSetupGenerated{
+
+	public static void doSetup() {
+		new StaLangStandaloneSetup().createInjectorAndDoEMFRegistration();
+	}
+}
+
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/formatting/StaLangFormatter.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/formatting/StaLangFormatter.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..02a5e6d91b1c6b9f52aabfceb5589f3bdacfc17a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/formatting/StaLangFormatter.xtend
@@ -0,0 +1,39 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.formatting
+
+import com.google.inject.Inject
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
+import org.eclipse.xtext.formatting.impl.FormattingConfig
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess
+
+/**
+ * This class contains custom formatting description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it 
+ * 
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+public class StaLangFormatter extends AbstractDeclarativeFormatter {
+	
+	@Inject extension StaLangGrammarAccess
+	
+	override protected configureFormatting(FormattingConfig c) {
+		for(pair: findKeywordPairs('{', '}')) {
+			c.setIndentation(pair.first, pair.second)
+			c.setLinewrap(1).after(pair.first)
+			c.setLinewrap(1).before(pair.second)
+			c.setLinewrap(1).after(pair.second)
+		}
+		for(comma: findKeywords(',')) {
+			c.setNoLinewrap().before(comma)
+			c.setNoSpace().before(comma)
+			c.setLinewrap().after(comma)
+		}
+		c.setLinewrap(0, 1, 2).before(SL_COMMENTRule)
+		c.setLinewrap(0, 1, 2).before(ML_COMMENTRule)
+		c.setLinewrap(0, 1, 1).after(ML_COMMENTRule)
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/generator/StaLangGenerator.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/generator/StaLangGenerator.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..7eabae84e7b05d680439984d9fcc03019f23eade
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/generator/StaLangGenerator.xtend
@@ -0,0 +1,24 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.generator
+
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.xtext.generator.IGenerator
+import org.eclipse.xtext.generator.IFileSystemAccess
+
+/**
+ * Generates code from your model files on save.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
+ */
+class StaLangGenerator implements IGenerator {
+	
+	override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+//		fsa.generateFile('greetings.txt', 'People to greet: ' + 
+//			resource.allContents
+//				.filter(typeof(Greeting))
+//				.map[name]
+//				.join(', '))
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/GenerateStaLang.mwe2 b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/GenerateStaLang.mwe2
new file mode 100644
index 0000000000000000000000000000000000000000..68a1cb12c5f51c15ebd4110a1479c0b90ca786ef
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/GenerateStaLang.mwe2
@@ -0,0 +1,140 @@
+module edu.kit.ipd.descartes.mm.adaptation.StaLang
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+
+var grammarURI = "classpath:/edu/kit/ipd/descartes/mm/adaptation/StaLang.xtext"
+var fileExtensions = "staLang"
+var projectName = "edu.kit.ipd.descartes.mm.adaptation.sta"
+var runtimeProject = "../${projectName}"
+var generateXtendStub = true
+
+Workflow {
+	bean = StandaloneSetup {
+		scanClassPath  = true
+		platformUri = "${runtimeProject}/.."
+		registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage"
+		registerGenModelFile = "platform:/resource/edu.kit.ipd.descartes.mm.adaptation/model/adaptation.genmodel"
+	}
+
+	component = DirectoryCleaner {
+		directory = "${runtimeProject}/src-gen"
+	}
+
+	component = DirectoryCleaner {
+		directory = "${runtimeProject}.ui/src-gen"
+	}
+
+	component = Generator {
+		pathRtProject = runtimeProject
+		pathUiProject = "${runtimeProject}.ui"
+		pathTestProject = "${runtimeProject}.tests"
+		projectNameRt = projectName
+		projectNameUi = "${projectName}.ui"
+		language = auto-inject {
+			uri = grammarURI
+
+			// Java API to access grammar elements (required by several other fragments)
+			fragment = grammarAccess.GrammarAccessFragment auto-inject {}
+
+			// generates Java API for the generated EPackages
+			// fragment = ecore.EcoreGeneratorFragment auto-inject {}
+
+			// the Ecore2Xtext specific terminal converter
+			fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment auto-inject {}
+
+			// serializer 2.0
+			fragment = serializer.SerializerFragment auto-inject {
+				//generateStub = false
+			}
+
+			// the old serialization component
+			// fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}
+
+			// a custom ResourceFactory for use with EMF 
+			fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
+
+			// the Antlr parser
+			fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
+				options = {
+					classSplitting = true
+				}
+			}
+
+//			// Xtend-based API for validation 
+//			fragment = validation.ValidatorFragment auto-inject {
+//			// composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+//			// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+//			}
+
+			// java−based API for validation
+			fragment = validation.JavaValidatorFragment {
+				composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" 
+			}
+			
+			// scoping and exporting API
+			fragment = scoping.ImportURIScopingFragment {} 
+			fragment = exporting.SimpleNamesFragment {}
+
+//			// old scoping and exporting API 
+//			// fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
+//			// fragment = exporting.QualifiedNamesFragment auto-inject {}
+//
+//			// scoping and exporting API
+//			fragment = scoping.ImportURIScopingFragment auto-inject {}
+//			fragment = exporting.SimpleNamesFragment auto-inject {}
+//			fragment = builder.BuilderIntegrationFragment auto-inject {}		
+
+			// generator API
+			fragment = generator.GeneratorFragment auto-inject {}
+
+			// formatter API 
+			// fragment = formatting.FormatterFragment auto-inject {}
+			fragment = ecore2xtext.FormatterFragment auto-inject {}
+
+			// labeling API 
+			fragment = labeling.LabelProviderFragment auto-inject {}
+
+			// outline API 
+            fragment = outline.OutlineTreeProviderFragment auto-inject {}
+            fragment = outline.QuickOutlineFragment auto-inject {}
+
+			// quickfix API
+			fragment = quickfix.QuickfixProviderFragment auto-inject {}
+
+			//content assist API 
+			fragment = contentAssist.ContentAssistFragment auto-inject {}
+
+			// antlr parser generator tailored for content assist 
+			fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {
+				options = {
+					classSplitting = true
+				}
+			}
+			
+			// generates junit test support classes into Generator#pathTestProject
+			fragment = junit.Junit4Fragment auto-inject {}
+
+			// project wizard (optional) 
+			// fragment = projectWizard.SimpleProjectWizardFragment auto-inject {
+			//		generatorProjectName = "${projectName}.generator" 
+			// }
+
+			// rename refactoring
+			fragment = refactoring.RefactorElementNameFragment auto-inject {}
+
+			// provides the necessary bindings for java types integration
+			fragment = types.TypesGeneratorFragment auto-inject {}
+			
+			// generates the required bindings only if the grammar inherits from Xbase
+			fragment = xbase.XbaseGeneratorFragment auto-inject {}
+
+			// provides a preference page for template proposals
+			fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
+
+			// provides a compare view
+            fragment = compare.CompareFragment auto-inject {}
+		}
+	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaLang.xtext b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaLang.xtext
new file mode 100644
index 0000000000000000000000000000000000000000..cd76660af594a5e22dd91f0ec04a66e40d433afd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaLang.xtext
@@ -0,0 +1,314 @@
+// automatically generated by Xtext
+grammar edu.kit.ipd.descartes.StaLang with org.eclipse.xtext.common.Terminals
+
+import "platform:/resource/edu.kit.ipd.descartes.mm.adaptation/model/adaptation.ecore" 
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+import "platform:/resource/edu.kit.ipd.descartes.perfdatarepo/model/perfdatarepo.ecore" as perfdatarepo
+import "platform:/resource/edu.kit.ipd.descartes.core/model/core.ecore" as core
+import "platform:/resource/edu.kit.ipd.descartes.mm.adaptationpoints/model/adaptationpoints.ecore" as adaptationpoints
+
+AdaptationProcess returns AdaptationProcess:
+	'AdaptationProcess'
+	id=EString
+	'{'
+		'name' name=EString
+		'tactics' '{' tactics+=Tactic ( "," tactics+=Tactic)* '}' 
+		'actions' '{' actions+=Action ( "," actions+=Action)* '}' 
+		'strategies' '{' strategies+=Strategy ( "," strategies+=Strategy)* '}' 
+		('parameters' '{' parameters+=Parameter ( "," parameters+=Parameter)* '}' )?
+		'goal' goal=OverallGoal
+		(importDeclaration=ImportDeclaration)?
+	'}';
+
+
+AdaptationPoint returns adaptationpoints::AdaptationPoint:
+	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+
+
+
+
+
+
+AbstractControlFlowElement returns AbstractControlFlowElement:
+	StartAction | StopAction | LoopAction | BranchAction | ActionReference;
+
+
+
+VariationType returns adaptationpoints::VariationType:
+	PropertyRange | SetOfConfigurations;
+
+
+
+
+
+
+
+
+
+EString returns ecore::EString:
+	STRING | ID;
+
+Tactic returns Tactic:
+	'Tactic'
+	id=EString
+	'{'
+		'name' name=EString
+		('inputParams' '(' inputParams+=[Parameter|EString] ( "," inputParams+=[Parameter|EString])* ')' )?
+		('outputParam' outputParam=[Parameter|EString])?
+		'implementedPlan' implementedPlan=AdaptationPlan
+	'}';
+
+Action returns Action:
+	'Action'
+	id=EString
+	'{'
+		'name' name=EString
+		('outputParam' outputParam=[Parameter|EString])?
+		('inputParams' '(' inputParams+=[Parameter|EString] ( "," inputParams+=[Parameter|EString])* ')' )?
+		'referredAdaptationPoint' referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+		'adaptationActionOperation' adaptationActionOperation=AdaptationActionOperation
+	'}';
+
+Strategy returns Strategy:
+	'Strategy'
+	id=EString
+	'{'
+		'name' name=EString
+		'objective' objective=[Objective|EString]
+		'triggeringEvents' triggeringEvents=Event
+		'tactics' '{' tactics+=WeightedTactic ( "," tactics+=WeightedTactic)* '}' 
+		'weightingFunction' weightingFunction=WeightingFunction
+	'}';
+
+Parameter returns Parameter:
+	'Parameter'
+	name=EString
+	'{'
+		'type' type=EString
+		'value' value=EString
+	'}';
+
+OverallGoal returns OverallGoal:
+	'OverallGoal'
+	'{'
+		'description' description=EString
+		'objectives' '{' objectives+=Objective ( "," objectives+=Objective)* '}' 
+	'}';
+
+ImportDeclaration returns ImportDeclaration:
+	'ImportDeclaration' importURI=EString
+	;
+
+AdaptationPlan returns AdaptationPlan:
+	'AdaptationPlan'
+	id=EString
+	'{'
+		'name' name=EString
+		('steps' '{' steps+=AbstractControlFlowElement ( "," steps+=AbstractControlFlowElement)* '}' )?
+	'}';
+
+StartAction returns StartAction:
+	{StartAction}
+	'StartAction'
+	id=EString
+	'{'
+		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		('successor' successor=[AbstractControlFlowElement|EString])?
+	'}';
+
+StopAction returns StopAction:
+	{StopAction}
+	'StopAction'
+	id=EString
+	'{'
+		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		('successor' successor=[AbstractControlFlowElement|EString])?
+	'}';
+
+LoopAction returns LoopAction:
+	'LoopAction'
+	id=EString
+	'{'
+		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		('successor' successor=[AbstractControlFlowElement|EString])?
+		'counter' counter=[Parameter|EString]
+		'body' body=AdaptationPlan
+	'}';
+
+BranchAction returns BranchAction:
+	'BranchAction'
+	id=EString
+	'{'
+		('condition' condition=EString)?
+		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		('successor' successor=[AbstractControlFlowElement|EString])?
+		('context' context=[core::Entity|EString])?
+		'conditionTrueBranch' conditionTrueBranch=AdaptationPlan
+		'conditionFalseBranch' conditionFalseBranch=AdaptationPlan
+	'}';
+
+ActionReference returns ActionReference:
+	'ActionReference'
+	id=EString
+	'{'
+		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		('successor' successor=[AbstractControlFlowElement|EString])?
+		'refersTo' refersTo=[Action|EString]
+	'}';
+
+AdaptationActionOperation returns AdaptationActionOperation:
+	'AdaptationActionOperation'
+	'{'
+		'adaptationOperationScope' adaptationOperationScope=AdaptationScope
+		'adaptationOperationDirection' adaptationOperationDirection=AdaptationDirection
+	'}';
+
+ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
+	'ModelVariableConfigurationRange'
+	id=EString
+	'{'
+		'name' name=EString
+		'minValue' minValue=EDouble
+		'maxValue' maxValue=EDouble
+		'adaptableEntity' adaptableEntity=[core::AdaptableEntity|EString]
+	'}';
+
+ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
+	'ModelEntityConfigurationRange'
+	id=EString
+	'{'
+		'name' name=EString
+		'adaptableEntity' adaptableEntity=[core::Entity|EString]
+		'variationPossibility' variationPossibility=VariationType
+	'}';
+
+EDouble returns ecore::EDouble:
+	'-'? INT? '.' INT (('E'|'e') '-'? INT)?;
+
+PropertyRange returns adaptationpoints::PropertyRange:
+	'PropertyRange'
+	'{'
+		'minValueConstraint' minValueConstraint=OclConstraint
+		'maxValueConstraint' maxValueConstraint=OclConstraint
+	'}';
+
+SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
+	'SetOfConfigurations'
+	'{'
+		('variants' '(' variants+=[core::Entity|EString] ( "," variants+=[core::Entity|EString])* ')' )?
+		'valueConstraint' valueConstraint=OclConstraint
+	'}';
+
+OclConstraint returns adaptationpoints::OclConstraint:
+	'OclConstraint'
+	name=EString
+	'{'
+		'oclString' oclString=EString
+	'}';
+
+AdaptationScope returns AdaptationScope:
+	'AdaptationScope' /* TODO: implement this rule and an appropriate IValueConverter */;
+
+AdaptationDirection returns AdaptationDirection:
+	'AdaptationDirection' /* TODO: implement this rule and an appropriate IValueConverter */;
+
+Objective returns Objective:
+	'Objective'
+	id=EString
+	'{'
+		'name' name=EString
+		'specifications' '{' specifications+=Specification ( "," specifications+=Specification)* '}' 
+	'}';
+
+Event returns Event:
+	'Event'
+	id=EString
+	'{'
+		'name' name=EString
+	'}';
+
+WeightedTactic returns WeightedTactic:
+	'WeightedTactic'
+	id=EString
+	'{'
+		'name' name=EString
+		'currentWeight' currentWeight=EDouble
+		'defaultWeight' defaultWeight=EDouble
+		'usedTactic' usedTactic=[Tactic|EString]
+		('lastImpact' lastImpact=[perfdatarepo::Impact|EString])?
+	'}';
+
+WeightingFunction returns WeightingFunction:
+	'WeightingFunction'
+	id=EString
+	'{'
+		'name' name=EString
+		'weightingFunctionImplementation' weightingFunctionImplementation=EString
+		'weightedMetrics' '{' weightedMetrics+=WeightedMetric ( "," weightedMetrics+=WeightedMetric)* '}' 
+	'}';
+
+Specification returns Specification:
+	'Specification'
+	'{'
+		'value' value=EDouble
+		'relationalOperator' relationalOperator=RelationalOperator
+		'metricType' metricType=[perfdatarepo::MetricType|EString]
+	'}';
+
+MetricType returns perfdatarepo::MetricType:
+	'MetricType'
+	id=EString
+	'{'
+		'name' name=EString
+	'}';
+
+RelationalOperator returns RelationalOperator:
+	'RelationalOperator' /* TODO: implement this rule and an appropriate IValueConverter */;
+
+Impact returns perfdatarepo::Impact:
+	'Impact'
+	id=EString
+	'{'
+		'name' name=EString
+		'before' before=[perfdatarepo::Result|EString]
+		'after' after=[perfdatarepo::Result|EString]
+	'}';
+
+Result returns perfdatarepo::Result:
+	'Result'
+	id=EString
+	'{'
+		'name' name=EString
+		'timestamp' timestamp=EDate
+		'metricValues' '{' metricValues+=MetricValue ( "," metricValues+=MetricValue)* '}' 
+	'}';
+
+EDate returns ecore::EDate:
+	'EDate' /* TODO: implement this rule and an appropriate IValueConverter */;
+
+MetricValue returns perfdatarepo::MetricValue:
+	'MetricValue'
+	id=EString
+	'{'
+		'name' name=EString
+		'value' value=EDouble
+		'measuredEntity' measuredEntity=[perfdatarepo::MeasuredEntity|EString]
+		'metricType' metricType=[perfdatarepo::MetricType|EString]
+	'}';
+
+MeasuredEntity returns perfdatarepo::MeasuredEntity:
+	'MeasuredEntity'
+	id=EString
+	'{'
+		'name' name=EString
+		'metricTypes' '(' metricTypes+=[perfdatarepo::MetricType|EString] ( "," metricTypes+=[perfdatarepo::MetricType|EString])* ')' 
+	'}';
+
+WeightedMetric returns WeightedMetric:
+	'WeightedMetric'
+	id=EString
+	'{'
+		'name' name=EString
+		'weight' weight=EDouble
+		'metricType' metricType=[perfdatarepo::MetricType|EString]
+	'}';
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/scoping/StaLangScopeProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/scoping/StaLangScopeProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6f41e0fd269bd2c996d40b49955ae17b560f9e0e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/scoping/StaLangScopeProvider.java
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.scoping;
+
+/**
+ * This class contains custom scoping description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#scoping
+ * on how and when to use it 
+ *
+ */
+public class StaLangScopeProvider extends org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider {
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/serializer/StaLangSemanticSequencer.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/serializer/StaLangSemanticSequencer.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..6be47b6a3d94d11fb79a2a0104abdb3dede1a054
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/serializer/StaLangSemanticSequencer.xtend
@@ -0,0 +1,7 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.serializer
+
+class StaLangSemanticSequencer extends AbstractStaLangSemanticSequencer {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/serializer/StaLangSyntacticSequencer.xtend b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/serializer/StaLangSyntacticSequencer.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..3be9f701746a604f26722af55c2e76912fcf41f4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/serializer/StaLangSyntacticSequencer.xtend
@@ -0,0 +1,7 @@
+/*
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.serializer
+
+class StaLangSyntacticSequencer extends AbstractStaLangSyntacticSequencer {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/validation/StaLangJavaValidator.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/validation/StaLangJavaValidator.java
new file mode 100644
index 0000000000000000000000000000000000000000..042af9a3c3dc968a86e9b159dfbd87f4a5ce46df
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/validation/StaLangJavaValidator.java
@@ -0,0 +1,19 @@
+/*
+* generated by Xtext
+*/
+package edu.kit.ipd.descartes.validation;
+
+/**
+ * Custom validation rules. 
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#validation
+ */
+public class StaLangJavaValidator extends edu.kit.ipd.descartes.validation.AbstractStaLangJavaValidator {
+
+//	@Check
+//	public void checkGreetingStartsWithCapital(Greeting greeting) {
+//		if (!Character.isUpperCase(greeting.getName().charAt(0))) {
+//			warning("Name should start with a capital", MyDslPackage.Literals.GREETING__NAME);
+//		}
+//	}
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/formatting/.StaLangFormatter.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/formatting/.StaLangFormatter.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..95799391e6bc073a61c986a07b0b7946736ad8c9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/formatting/.StaLangFormatter.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/formatting/StaLangFormatter.java b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/formatting/StaLangFormatter.java
new file mode 100644
index 0000000000000000000000000000000000000000..2c8a109788bfe8df705d16836599c2ce74b248bc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/formatting/StaLangFormatter.java
@@ -0,0 +1,72 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.formatting;
+
+import com.google.inject.Inject;
+import edu.kit.ipd.descartes.services.StaLangGrammarAccess;
+import java.util.List;
+import org.eclipse.xtext.Keyword;
+import org.eclipse.xtext.TerminalRule;
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
+import org.eclipse.xtext.formatting.impl.FormattingConfig;
+import org.eclipse.xtext.formatting.impl.FormattingConfig.LinewrapLocator;
+import org.eclipse.xtext.formatting.impl.FormattingConfig.NoLinewrapLocator;
+import org.eclipse.xtext.formatting.impl.FormattingConfig.NoSpaceLocator;
+import org.eclipse.xtext.util.Pair;
+import org.eclipse.xtext.xbase.lib.Extension;
+
+/**
+ * This class contains custom formatting description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it
+ * 
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+@SuppressWarnings("all")
+public class StaLangFormatter extends AbstractDeclarativeFormatter {
+  @Inject
+  @Extension
+  private StaLangGrammarAccess _staLangGrammarAccess;
+  
+  protected void configureFormatting(final FormattingConfig c) {
+    List<Pair<Keyword,Keyword>> _findKeywordPairs = this._staLangGrammarAccess.findKeywordPairs("{", "}");
+    for (final Pair<Keyword,Keyword> pair : _findKeywordPairs) {
+      {
+        Keyword _first = pair.getFirst();
+        Keyword _second = pair.getSecond();
+        c.setIndentation(_first, _second);
+        LinewrapLocator _setLinewrap = c.setLinewrap(1);
+        Keyword _first_1 = pair.getFirst();
+        _setLinewrap.after(_first_1);
+        LinewrapLocator _setLinewrap_1 = c.setLinewrap(1);
+        Keyword _second_1 = pair.getSecond();
+        _setLinewrap_1.before(_second_1);
+        LinewrapLocator _setLinewrap_2 = c.setLinewrap(1);
+        Keyword _second_2 = pair.getSecond();
+        _setLinewrap_2.after(_second_2);
+      }
+    }
+    List<Keyword> _findKeywords = this._staLangGrammarAccess.findKeywords(",");
+    for (final Keyword comma : _findKeywords) {
+      {
+        NoLinewrapLocator _setNoLinewrap = c.setNoLinewrap();
+        _setNoLinewrap.before(comma);
+        NoSpaceLocator _setNoSpace = c.setNoSpace();
+        _setNoSpace.before(comma);
+        LinewrapLocator _setLinewrap = c.setLinewrap();
+        _setLinewrap.after(comma);
+      }
+    }
+    LinewrapLocator _setLinewrap = c.setLinewrap(0, 1, 2);
+    TerminalRule _sL_COMMENTRule = this._staLangGrammarAccess.getSL_COMMENTRule();
+    _setLinewrap.before(_sL_COMMENTRule);
+    LinewrapLocator _setLinewrap_1 = c.setLinewrap(0, 1, 2);
+    TerminalRule _mL_COMMENTRule = this._staLangGrammarAccess.getML_COMMENTRule();
+    _setLinewrap_1.before(_mL_COMMENTRule);
+    LinewrapLocator _setLinewrap_2 = c.setLinewrap(0, 1, 1);
+    TerminalRule _mL_COMMENTRule_1 = this._staLangGrammarAccess.getML_COMMENTRule();
+    _setLinewrap_2.after(_mL_COMMENTRule_1);
+  }
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/generator/.StaLangGenerator.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/generator/.StaLangGenerator.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..865654259b8154687a37d251fa395765abc9cba2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/generator/.StaLangGenerator.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/generator/StaLangGenerator.java b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/generator/StaLangGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..87340955ac3c791463d0727fc7de7f13ce87dfcd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/generator/StaLangGenerator.java
@@ -0,0 +1,19 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.generator;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.generator.IFileSystemAccess;
+import org.eclipse.xtext.generator.IGenerator;
+
+/**
+ * Generates code from your model files on save.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
+ */
+@SuppressWarnings("all")
+public class StaLangGenerator implements IGenerator {
+  public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
+  }
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/.StaLangSemanticSequencer.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/.StaLangSemanticSequencer.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..798d2235c26809fe8b05314de0aff4a304950289
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/.StaLangSemanticSequencer.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/.StaLangSyntacticSequencer.java._trace b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/.StaLangSyntacticSequencer.java._trace
new file mode 100644
index 0000000000000000000000000000000000000000..e8fd4515cf046742b1e749d82fedd881856dec94
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/.StaLangSyntacticSequencer.java._trace differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/StaLangSemanticSequencer.java b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/StaLangSemanticSequencer.java
new file mode 100644
index 0000000000000000000000000000000000000000..d891abede4573704f2bc3f6d81f5e4c934bcda95
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/StaLangSemanticSequencer.java
@@ -0,0 +1,10 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.serializer;
+
+import edu.kit.ipd.descartes.serializer.AbstractStaLangSemanticSequencer;
+
+@SuppressWarnings("all")
+public class StaLangSemanticSequencer extends AbstractStaLangSemanticSequencer {
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/StaLangSyntacticSequencer.java b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/StaLangSyntacticSequencer.java
new file mode 100644
index 0000000000000000000000000000000000000000..fe297c1b084cecd7dbb4aa76f7691730c40c7c6f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/xtend-gen/edu/kit/ipd/descartes/serializer/StaLangSyntacticSequencer.java
@@ -0,0 +1,10 @@
+/**
+ * generated by Xtext
+ */
+package edu.kit.ipd.descartes.serializer;
+
+import edu.kit.ipd.descartes.serializer.AbstractStaLangSyntacticSequencer;
+
+@SuppressWarnings("all")
+public class StaLangSyntacticSequencer extends AbstractStaLangSyntacticSequencer {
+}